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

Nick Demou ndemou at gmail.com
Wed Dec 6 00:36:47 EET 2006


Την 6/12/2006, Giorgos Keramidas <keramida at ceid.upatras.gr> έγραψε:
> On 2006-12-06 00:17, V13 <v13 at priest.com> wrote:
> >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
>
> Ok.
>
> >>     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
>
> Δεν ξέρω για επιδόσεις, αλλά είναι σίγουρα πιο σωστό :)
>
>




More information about the Linux-greek-users mailing list