find + grep για απαιτητικούς...τεμπέληδες

V13 v13 at priest.com
Wed Dec 6 00:17:21 EET 2006


On Tuesday 05 December 2006 22:15, Giorgos Keramidas wrote:
> On 2006-12-05 21:41, Nick Demou <ndemou at gmail.com> wrote:
> > μια φορά το μήνα τουλάχιστον θα χρειαστεί να κάνω μια αναζήτηση
> > "προχωρημένη" για τις ταπεινές μου γνώσεις bash. Π.χ.:
> >
> > ψάχνω για αρχεία των τελευταίων 7 ημερών που
> >    ΚΑΙ έχουν στις πρώτες 50 γραμμές την λέξη "ΧΧΧ"
> >    ΚΑΙ έχουν οπουδήποτε την λέξη "free"
> > (οι λέξεις στην τύχη :-)
> >
> > εν τέλη με ένα συνδιασμό find -exec, κάποιου πρόχειρου Script και αν
> > είμαι άτυχος και κανενός temp αρχείου πάντα κάνω την δουλειά μου αλλά
> > το όλο εγχείρημα μου πέρνει αρκετή ώρα (είμαι ξεχασιάρης γέρος και
> > ανοίγω την man page του find και του grep και το bash scripting how-to
> > κάθε μα κάθε φορά*)
> >
> > γνωρίζει κανείς κάποια console based* εναλακτική πρόταση ή ΠΡΕΠΕΙ να
> > μάθω απ'έξω κι ανακατοτά το shell?
>
> Πρέπει να μάθεις απέξω κι ανακατωτά το shell:
>
>     find somepath/ -mtime 7d -or -mtime 6d -or -mtime 5d \
>         -or -mtime 4d ... | \

find . -mtime -7d

:P #1

>     while read file ; do
>         xxxflag=$(head -50 "${file}" | grep -q "XXX")
>         freeflag=$(grep "free" "${file}")
>         if test ${xxxflag} -eq 0 && test ${freeflag} -eq 0 ; then
> 	    echo "${file}"
> 	fi

Edo nomizo pos egrapses kati diaforetiko apo ayto poy skeytosoyn... Anyway, 
san syntaksi proteino to parakato giati exei kalyteres epidoseis:

if head -50 "${file}" | grep -q "XXX" &&
        grep -q "free" "${file}" ; then
        echo "${file}"
fi

:P #2

<<V13>>




More information about the Linux-greek-users mailing list