Saiba porquê metamorfosear a ingresso padrão em argumentos de traço de comando com xargs.
Se você tentar encanar a saída de um comando do Linux para outro, poderá encontrar erros em que o comando lapso porque sua lista de argumentos é muito longa.
Felizmente, existe um comando em sistemas Linux que formata corretamente argumentos para comandos. É chamado xargs e cá está porquê usá-lo.
Por que usar xargs?
O que o xargs faz é receber a saída padrão e formatá-la para que outro comando possa recebê-la. Enquanto muitos utilitários Linux podem admitir ingresso padrão, alguns só aceitam argumentos porquê ingresso.
Eles podem falhar se você tentar redirecionar a ingresso padrão para o comando. Alguns comandos ainda aceitam exclusivamente um manifesto número de argumentos e o xargs cuida disso para você.
Uma vez que usar xargs no Linux
Você pode invocar xargs assim:
xargs [command]
xargs mantém o controle do comprimento dos argumentos que um comando aceita e formata a ingresso padrão para gerar uma lista de argumentos para fornecer ao comando. Quando atingir o limite de uma traço de comando, ele invocará o comando novamente com os argumentos restantes.
Usando xargs em pipelines
A utilidade do xargs vem quando é usado em pipelines. Um exemplo sintético seria pipe cat to echo, que é um comando que aceita exclusivamente argumentos, não ingresso padrão.
cat | echo
Isso fará com que o echo imprima o que você digitar em uma traço logo que você clicar Ctrl+D.
xargs é mais comumente usado com o comando find, com o comando find sendo usado para listar arquivos e xargs usado para processar a lista de arquivos de alguma forma.
A sintaxe do comando find é complicada o suficiente, portanto por que trazer outro comando para ela? Se você usar find’s “-exec“, ele iniciará um novo processo cada vez que pesquisar um registro no diretório. Usar xargs é mais eficiente.
Você pode querer excluir arquivos em um diretório que sejam mais antigos que uma determinada data, porquê 90 dias. Para fazer isso, você usaria nascente pipeline:
find . -mtime +90 -print | xargs rm
xargs ajuda os comandos do Linux a processar a ingresso corretamente
Com xargs, agora você pode prometer que os comandos recebam os argumentos da maneira que você espera. Combinado com find, ele permite que você processe arquivos em sua máquina rapidamente.
A capacidade de redirecionar ingresso e saída no shell é uma das forças duradouras do Linux porquê uma consequência da filosofia Unix. Se você quiser saber mais sobre porquê funciona o redirecionamento de ingresso/saída do Linux, continue lendo.
Leia a seguir
Sobre o responsável