fbpx Certificação Linux: Comando xargs no Linux (executa comando como argumento) [Guia Básico]

Blog

Comando xargs no Linux (executa comando como argumento) [Guia Básico]

📅 01/01/2019 ⏱ 2 min ✍️ Uira Ribeiro
Linuxcomandos
Comando xargs no Linux (executa comando como argumento) [Guia Básico]

O comando xargs no Linux executa o comando ou programa e passa como argumento para esse comando o que foi recebido como entrada padrão. 

Ele resolve o problema de pegar a saída padrão de um programa e usá-la como argumentos ou parâmetros para um comando ou programa.

As opções mais frequentes são:

  • -p: Pergunte ao usuário se o comando deve ser executado antes de fazê-lo 
  • -r: Não execute o comando quando receber linhas vazias
  • -t: Mostre o comando na tela antes de executá-lo 

Veja a lista de supermercado:

$ cat supermercado
arroz
feijão
carne
batata
alface
tomate
arroz
carne 

Agora vamos fazer o xargs receber como entrada padrão esta lista, e executar o comando echo com os itens da lista como parâmetro:

$ cat supermercado | xargs echo

O que o xargs faz é como se escrevesse o seguinte comando:

$ echo arroz feijão carne batata alface tomate arroz carne 

Da mesma forma, pode-se criar diretórios com os nomes dos itens da lista. Neste exemplo o comando xargs irá criar um diretório executando o mkdir com o nome de cada item contido no arquivo supermercado:

$ cat supermercado | xargs mkdir

Como você pode ver, o xargs pode ser muito útil para automatizar várias tarefas. 

Neste exemplo, lista-se todos os arquivos com extensão txt, e depois utiliza-se o xargs para compactar cada um deles:

$ ls -1 *.txt  | xargs gzip 

A opção "-t" do xargs é interessante, pois ele escreve o comando que irá executar:

$ ls -1 *.txt  | xargs -t gzipgzip teste1.txt teste2.txt teste3.txt 

O xargs pode também ser usado para baixar vários arquivos de uma lista de links:

$ cat links.txt | xargs wget

A opção "-i" combinada com { } pode ser usada para passar argumentos no local correto de um comando:

$  ls /etc/*.conf | xargs -i cp {} /home/learnlinux/conf

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe

Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Especialista Linux com mais de 20 anos de experiência.
Autor de 5 livros e mentor de mais de 14.000 alunos certificados.
20 certificações de alto nível, incluindo LPIC-3, CKA, RHCE e AWS Solutions Architect.

WhatsApp