Ich möchte einen Bash-Befehl finden, mit dem ich jede Datei in einem Verzeichnis durchsuchen und die Ausgabe dieses Greps in eine separate Datei schreiben kann. Meine Vermutung wäre gewesen, so etwas zu tun
ls -1 | xargs -I{} "grep ABC '{}' > '{}'.out"
aber soweit ich weiß, mag xargs die doppelten Anführungszeichen nicht. Wenn ich jedoch die doppelten Anführungszeichen entferne, leitet der Befehl die Ausgabe des gesamten Befehls in eine einzelne Datei mit dem Namen '{}'. Out anstatt in eine Reihe einzelner Dateien um.
Kennt jemand eine Möglichkeit, dies mit xargs zu tun? Ich habe dieses grep-Szenario nur als Beispiel verwendet, um mein Problem mit xargs zu veranschaulichen, sodass Lösungen, die xargs nicht verwenden, für mich nicht so zutreffend sind.
xargs
ohne verwenden-0
: Dies gilt nur, wenn Siefind
die Ausgabe mitxargs
, oder? Wenn ich es tue,xargs -a <input_file>
wie würde ich das verwenden? Die meisten Befehle mögengrep
Ausgaben mit\n
und nicht.\0.
Die einzige Möglichkeit, diestr
zu umgehen, besteht darin, sie erneut zu verwenden, um dies möglicherweise zu beheben. Aber warum ist es wichtig, es nur mit zu verwenden-0
?