Se você tentar canalizar a saída de um comando do Linux para outro, poderá encontrar erros em que o comando falha porque sua lista de argumentos é muito longa.

Felizmente, existe um comando em sistemas Linux que formata corretamente argumentos para comandos. É chamado xargs e aqui está como 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 aceitar entrada padrão, alguns só aceitam argumentos como entrada.

Eles podem falhar se você tentar redirecionar a entrada padrão para o comando. Alguns comandos ainda aceitam apenas um certo número de argumentos e o xargs cuida disso para você.

Como usar xargs no Linux

Você pode chamar xargs assim:

xargs [comando]

xargs mantém o controle do comprimento dos argumentos que um comando aceita e formata a entrada padrão para gerar uma lista de argumentos para fornecer ao comando. Quando atingir o limite de uma linha de comando, ele invoque o comando novamente com os argumentos restantes.

instagram viewer

Usando xargs em pipelines

A utilidade do xargs vem quando é usado em pipelines. Um exemplo artificial seria pipe cat to echo, que é um comando que aceita apenas argumentos, não entrada padrão.

gato | eco

Isso fará com que o echo imprima o que você digitar em uma linha assim que você clicar Ctrl+D.

xargs é mais comumente usado com o comando find, com o comando localizar 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, então por que trazer outro comando para ela? Se você usar find's "-exec", ele iniciará um novo processo cada vez que pesquisar um arquivo no diretório. Usar xargs é mais eficiente.

Você pode querer excluir arquivos em um diretório que sejam mais antigos que uma determinada data, como 90 dias. Para fazer isso, você usaria este pipeline:

achar. -mtime +90 -print | xargs rm

xargs ajuda os comandos do Linux a processar a entrada corretamente

Com xargs, agora você pode garantir 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 entrada e saída no shell é uma das forças duradouras do Linux como uma consequência da filosofia Unix. Se você quiser saber mais sobre como funciona o redirecionamento de entrada/saída do Linux, continue lendo.

Entendendo a E/S padrão no Linux

Melhore seu fluxo de trabalho de linha de comando do Linux conectando vários comandos usando E/S padrão.

Leia a seguir

CompartilhadoTweetE-mail
Tópicos relacionados
  • Linux
  • Comandos Linux
  • Shell Bash Linux
Sobre o autor
David Delony (81 Artigos Publicados)

David é um escritor freelance baseado no noroeste do Pacífico, mas originalmente vindo da área da baía. Ele é um entusiasta da tecnologia desde a infância. Os interesses de David incluem ler, assistir a programas de TV e filmes de qualidade, jogos retrô e colecionar discos.

Mais de David Delony

Assine a nossa newsletter

Junte-se à nossa newsletter para dicas de tecnologia, análises, e-books gratuitos e ofertas exclusivas!

Clique aqui para assinar