[LinuxOB] One-Liner

Alexander Müller alexander.mueller at electronic-security.de
Fr Feb 20 10:37:04 CET 2004


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am Donnerstag, 19. Februar 2004 23:09 schrieb Christian Hesse:
> On Thursday 19 February 2004 23:02, Daniel Dombrowski wrote:
> > On 2004.02.19 22:39, Christian Hesse wrote:
> > > Ich habe gleich noch einen. Damit lässt sich in der Kerneldoku jedes
> > > Vorkommen von frame finden...
> > >
> > > find /usr/src/linux/Documentation/ -type f | while read FILE; do
> > > GREP=`grep "frame" "$FILE"`; if [ -n "$GREP" ]; then echo "Found in
> > > file $FILE:"; echo $GREP; fi; done
> >
> > Und wo genau ist da jetzt der Untschied zu
> >
> > grep -R frame /usr/src/linux/Documentation/ | sed -e 's/^/Found in file
> > /'
> >
> > | sed -e 's/:/:\n/'
> >
> > (Außer, dass deine Version alle Treffer in jeder Datei ohne
> > Zeilenumbruch hintereinanderklatscht)?
>
> Das ist eine Sache, die ich für Alexander zusammengesetzt habe. Wir sind
> auf ein paar Umwegen dahin gekommen...
> Es zeigt auf jeden Fall, was mit mit so einem Einzeiler alles machen kann.
> :)
>
> Inzwischen habe ich das ganze Ding auch als alias gebaut:
>
> alias search='function mysearch { find . -type f | while read FILE; do
> GREP=`grep "$1" "$FILE"`; if [ -n "$GREP" ]; then echo "Found in file
> $FILE:"; echo $GREP; fi; done; }; mysearch'
>
> Mit dem Aufruf
>
> search frame
>
> im entsprechenden Verzeichnis kommen wir zu den gleichen Ergebnissen. Geht
> dann natürlich auch an der Stelle kürzer...

Ich habe es noch etwas allgemeiner gemacht:
alias search='function mysearch { find "$1" -type f | while read FILE; do 
GREP=`grep "$2" "$FILE"`; if [ -n "$GREP" ]; then echo "Found in file 
$FILE:"; echo $GREP; fi; done; }; mysearch'

Ein kleiner Unterschied...

Wie lang das Teil nun ist, ist doch eigentl. Schnuppe, da es
sowieso mit einem Alias verschwindet. :-)

Alexander
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (OpenBSD)

iD8DBQFANdVFLg7gXL/fxnkRAikPAJ9XKtXBv2Vnn4c471wgQAz7/RwZEgCfelcp
K8kVLbgFkfBCcYLaUW6ZaYI=
=+Wy8
-----END PGP SIGNATURE-----





Mehr Informationen über die Mailingliste linux