Quiero encontrar un comando bash que me permita grep cada archivo en un directorio y escribir la salida de ese grep en un archivo separado. Supongo que habría sido hacer algo como esto
ls -1 | xargs -I{} "grep ABC '{}' > '{}'.out"
pero, que yo sepa, a xargs no le gustan las comillas dobles. Sin embargo, si elimino las comillas dobles, el comando redirige la salida del comando completo a un solo archivo llamado '{}'. En lugar de a una serie de archivos individuales.
¿Alguien sabe de una manera de hacer esto usando xargs? Acabo de usar este escenario grep como ejemplo para ilustrar mi problema con xargs, por lo que cualquier solución que no use xargs no es tan aplicable para mí.
xargs
sin-0
: esto solo se aplica cuando se canalizafind
la salida conxargs
, ¿verdad? cuando lo haga, ¿xargs -a <input_file>
cómo usaría esto? La mayoría de los comandos tienen gusto degrep
salidas con\n
y no.\0.
La única forma en que puedo pensartr
para solucionar esto es usar de nuevo para arreglar eso tal vez. Pero, ¿por qué es importante usarlo solo con-0
?