Estou tentando produzir esse comportamento:
grep 192.168.1 *.txt
Ao passar uma string para o grep via Xargs, ela continua no final e não como o primeiro parâmetro.
echo 192.168.1 | xargs grep *.txt
Eu preciso dizer ao xargs (ou algo semelhante) para colocar a string de entrada entre 'grep' e '*' em vez de no final.
Como eu faço isso?
Respostas:
Exemplo
Arquivos de exemplo:
Exemplo de execução:
fonte
Outra abordagem:
Isso não excederá o comprimento da linha de comando do shell com muitos nomes de arquivos. Para evitar confundir
xargs
/grep
com nomes de arquivos que têm espaços,-print0
e-0
opções irá delinear cada nome encontrado com um nulo em vez de um LF.fonte