Hallo, On Sat, 11 Jan 2003, Bernd Brodesser wrote:
* Jan Trippler schrieb am 10.Jan.2003:
On Fre, 10 Jan 2003 at 20:08 (+0100), Bernd Brodesser wrote: [...]
Wenn Du Dateinamen mit Leerzeichen hast, geht das schief, dann mußt Du es folgendermaßen machen:
find Verzeichnis -type f .... -print0 | xargs -0 grep Suchbegriff
Ist nicht nötig:
jan@k500:~/tmp> date >"Datei mit Loch" jan@k500:~/tmp> date >"Datei_ohne_Loch" jan@k500:~/tmp> find . -type f -exec grep -l Jan {} \; ./Datei_ohne_Loch ./Datei mit Loch jan@k500:~/tmp>
Stimmt, es ging dabei auch um einen Dateinamen, in dem ein RETURN ist. Ich gebe ja zu, daß so ein Dateinamen recht krank ist.
Kein Problem! Haben wir: dh@slarty[3]:/tmp/test/kranke_dateinamen (0)$ ls -1 -b "foo"\nand\n"bar" a\nb a\r\ b a\ b foo;\ ls\ -rf ß\ ä dh@slarty[3]:/tmp/test/kranke_dateinamen (0)$ find . -exec echo "§{}§" \; §.§ §./ß ä§ §./a b§ §./"foo" and "bar"§ §./a b§ b§a §./foo; ls -rf§ dh@slarty[3]:/tmp/test/kranke_dateinamen (0)$ [jup, das listing ist wohl ok fuer ein '-exec echo' ;)] find muss ja die Dateinamen auch irgendwie richtig getrennt durch '\0' in die pipe schreiben geben koennen, also sowieso schon die Dateinamen korrekt trennen... -dnh PS: ja, ich weiss, ich muss da mal wieder ein paar mehr, fiesere Dateien anlegen ;)) PPS: Oh, good sigmonster! -- Netscape als root auszufuehren ist das Aequivalent zum Betreten des Innenhofes eines Hochsicherheitstrakts zur Pausenzeit, sich die Hosen runterzuziehen, weit nach vorn zu beugen und zu bruellen: "Los Jungs, holt es euch!". Oder Windows zu benutzen. [Wolfgang Weisselberg in suse-linux]