Grep - Rekursiv sichen?

Locked
Message
Author
Norbert Spohn

Grep - Rekursiv sichen?

#1 Post by Norbert Spohn »

Hallo

wo ich schon ueber grep hier lese, kam mir gerade ein Problem auf, mit welchem ich schon seit längerer Zeit zu kämpfen habe.
Ist es möglich mit grep auch Dateien in Verzeichnissen (rekursiv) durchzusuchen?
Die Option -r scheint bei meinem grep nicht zu funktionieren <img src="http://www.pro-linux.de/UltraBoard/Images/Sad.gif" border="0" align="middle">

Bei meinem System handelt es sich aber um kein Linux, sondern um HP-Unix und dieses grep scheint -r nicht zu verstehen.

Jochen

Re: Grep - Rekursiv sichen?

#2 Post by Jochen »

No problem:

find . -type f -print | xargs grep 're'

find liefert eine Liste aller normalen Dateien (keine Verzeichnisse und so) rekursiv ab . , xargs bastelt aus all den Dateinamen ein grep mit Suchausdruck re zusammen und führt es aus. Voilà!

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Grep - Rekursiv sichen?

#3 Post by hjb »

Hi,

GNU grep kann (immer noch) nicht rekursiv suchen. rgrep kann es, vielleicht ist es bei dir schon installiert (bei SuSE 6.3 ist es dabei).

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

Jochen

Re: Grep - Rekursiv sichen?

#4 Post by Jochen »

Ahem, mit Verlaub, hjb: Ich hoffe, GNU grep wird's nie können!

<rantz>
In jedes 2. beliebige Programm wird mittlerweile rekursives Abarbeiten von Verzeichnisbäumen implementiert, was zu x-fach vorhandenem Code führt und letztlich wesentlich weniger flexibel ist als eine Kombination mit find. Was bringt's beispielsweise, wenn chown rekursiv arbeiten kann? Solange dabei nicht zwischen Dateien und Verzeichnissen unterschieden wird - gar nix. Die haben typischerweise unterschiedliche Berechtigungen. Also doch wieder mit find/xargs...
</rantz>
Sorry, das musste mal raus...

Guck Dir ruhig mal die man page zu find an, das Teil ist total mächtig!

Jochen

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Grep - Rekursiv sichen?

#5 Post by hjb »

Hi,

was find kann, weiß ich in- und auswendig.

Du hast mit deiner Bemerkung nicht ganz unrecht. Zwar ist der Aufruf von find etwas kompliziert, aber man kann ja ein Alias dafür definieren. Was kann man mehr wollen?

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

Locked