Eine meiner üblichen Vorgehensweisen besteht darin, alle Dateien eines bestimmten Typs zu prüfen, z. B. alle HTML-Dateien zu finden, in denen das Wort "Rumpus" vorkommt. Um es zu tun, benutze ich
find /path/to -name "*.html" | xargs grep -l "rumpus"
Gelegentlich find
wird eine Datei mit einem Leerzeichen im Namen wie zurückgegeben my new file.html
. Bei der xargs
Übergabe an grep
erhalte ich jedoch die folgenden Fehler:
grep: /path/to/bad/file/my: No such file or directory
grep: new: No such file or directory
grep: file.html: No such file or directory
Ich kann sehen, was hier vor sich geht: Entweder die Pipe oder die xargs
behandelt die Leerzeichen als Begrenzer zwischen Dateien. Für das Leben von mir kann ich jedoch nicht herausfinden, wie ich dieses Verhalten verhindern kann. Kann man das mit find
+ machen xargs
? Oder muss ich einen ganz anderen Befehl verwenden?