Am Mon, 2002-03-25 um 18.00 schrieb Jochen Hein:
> >>>>> "Laurence" == Laurence Tonke <[EMAIL PROTECTED]> writes:
> 
>  Laurence> Am Mon, 2002-03-25 um 14.56 schrieb Jochen Hein: ...
>  >> -exec grep "bar" {} \; hat das Problem, dass es den Dateinamen
>  >> nicht ausgibt.
> 
>  Laurence> Dann mu�t Du hinten noch ein "-print" anh�ngen:
> 
> Gibt das nur die Dateinamen mit Treffer aus?  Ich glaube ja, aber

Nicht ganz, die Verzeichnisse auch:

bash-2.05$ find /etc/init.d/ -name "*" -exec grep "Copyright" {} \; -print
grep: /etc/init.d/: Ist ein Verzeichnis
# Copyright (C) 1998-2000 VMware, Inc.  All Rights Reserved.
/etc/init.d/vmware
...

"grep -s" unterdr�ckt auch das:

bash-2.05$ find /etc/init.d/ -name "*" -exec grep -s "Copyright" {} \;
-print
# Copyright (C) 1998-2000 VMware, Inc.  All Rights Reserved.
/etc/init.d/vmware
...

"grep -sl" gibt dann nur den Filenamen, allerdings doppelt:

bash-2.05$ find /etc/init.d/ -name "*" -exec grep -sl "Copyright" {} \;
-print
/etc/init.d/vmware
/etc/init.d/vmware
...

???

> m�sste mal in der Manpage nachlesen.  Im Zweifel hat grep ja auch eine
> Option daf�r, aber das macht's dann un�bersichtlich - ich w�rde
> jedenfalls immer die xargs L�sung empfehlen, wenn's in ein Skript
> gehen soll.  

Ist wahrscheinlich besser.

-- 
Laurence Tonke
Software AG
mailto:[EMAIL PROTECTED]
----------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org

Antwort per Email an