Eu quero encontrar um comando bash que me permita grep todos os arquivos em um diretório e escreva a saída desse grep em um arquivo separado. Meu palpite teria sido fazer algo assim
ls -1 | xargs -I{} "grep ABC '{}' > '{}'.out"
mas, tanto quanto eu sei, xargs não gosta de aspas duplas. Se eu remover as aspas duplas, no entanto, o comando redirecionará a saída do comando inteiro para um único arquivo chamado '{}'. Out em vez de para uma série de arquivos individuais.
Alguém sabe de uma maneira de fazer isso usando xargs? Eu apenas usei esse cenário grep como um exemplo para ilustrar meu problema com o xargs, para que quaisquer soluções que não usem o xargs não sejam tão aplicáveis para mim.
xargs
sem-0
: isso só se aplica quando você canalizafind
a saídaxargs
, certo? quando eu faço,xargs -a <input_file>
como eu usaria isso? A maioria dos comandos, comogrep
saídas com\n
e não, é\0.
a única maneira de solucionar esse problema, usando-otr
novamente para corrigir isso, talvez. Mas por que é importante usá-lo apenas com-0
?