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 gzip
gzip 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
Tag:/dev, bash, certificação, certificaçãolinux, code, Comptia, developer, empreendedorismo, exame, freesoftware, gnu, hack, Linux, linuxfan, linuxfun, linuxmint, lovelinux, LPI, LPIC, management, nerd, opensource, php, prova, shell, software, softwarelivre, sql, tech, ti, unix