* Jürgen Seibel ([EMAIL PROTECTED]) wrote/schrieb:
> Da gibt`s doch irgend so`n Tool, wo man Zeichenketten _innerhalb_ von
> Dateien suchen kann?
Grep, aber das kann nicht ordentlich in Unterverzeichnisse abtauchen.
> find sucht nur nach _Verzeichnisnamen_ und braucht Metazeichen,
> wenn man den Dateinamen nicht genau angibt und sucht nur ab
> dem Verzeichnis, wo man steht.
> Ich habe schon find -name probiert. :-(
Das ist nicht richtig. Find sucht auch nach Dateinamen. Genau gesagt kann
man find sagen, welche Dateien es suchen soll. Verzeichnisse, Links,
Dateien, die in den letzten 3 Tagen geändert wurden, usw. Find ist schon
ziemlich mächtig, man muß die Manpage nur mit viel Geduld durchgehen.
> Da kann ich `ne Firma gründen gehen, oder eine alte zumachen..
> bis der fertig ist (selbst bei meiner CPU von 400MHZ)
Wohl wahr. Find auf mein /home-Filesystem dauert Stunden. ;-)
> Wenn ich da was durcheinandergeworfen habe, oder man kann
> find, locate oder grep irgendwie verpipen, mit 18 Optionen und
> 46 Schaltern versehen, ...auch gut. Aber ich weiss es nicht, sorry ;-(
Zu Locate kann ich nicht viel sagen, Grep hat nur wenig Schalter, und Find
ist mit seinen Schaltern nur dann der blanke Horror, wenn man nicht mit
System an die Sache herangeht.
Wenn Du unter /etc eine Datei suchen willst, die "foo" enthält, kannst Du
Grep und Find kombinieren:
find /etc -name "*" -type f -print|
while read DATEI # Wir brauchen den Dateinamen noch.
do
TEXT=`grep foo "$DATEI"` && echo -e "$DATEI:\n$TEXT\n\n"
done
Eine bessere Möglichkeit kenne ich im Moment auch nicht. Es gibt für Find
eine Option "-exec" um direkt was mit gefundenen Dateien anzustellen, die
ist mir aber zu kompliziert, weil da ein halbes Dutzend Metazeichen
entwertet werden muß, oder auch nicht, je nach Shell. Das funktioniert nie
auf Anhieb.
-martin
--
If the facts are against you, argue the law.
If the law is against you, argue the facts.
If the facts and the law are against you, run like hell.
---------------------------------------------------------------------------
PUG - Penguin User Group Wiesbaden - http://www.pug.org