Início·Comandos de terminal

xargs

Processamento de texto

Uso

[cmd] | xargs [cmd2]

Transforma linhas de entrada em argumentos de outro comando; nomes com espaços quebram tudo, a não ser que os dois lados usem NUL, ou seja find -print0 com xargs -0.

Opções comuns

OpçãoSignificado
-nHow many arguments to hand over per run
-IPut the argument where a placeholder such as {} sits
-0Read NUL-separated input, to pair with find -print0
-PRun that many copies at once
-rDo not run the command at all on empty input
-tPrint each command before running it

Exemplos

find . -name '*.log' -print0 | xargs -0 rm

Deletes them even when names hold spaces.

xargs -n1 -P4 curl -O < urls.txt

Four downloads at a time.

ls *.txt | xargs -I{} mv {} old/{}

Uses {} where the file name goes.

Foram feitos para serem encadeados com pipes. Três comandos ligados costumam ser mais curtos que um que faça tudo.

Como ler

  • Os colchetes [ ] marcam uma parte que você pode omitir.
  • As reticências … indicam que você pode listar vários.
  • As opções diferenciam maiúsculas: em alguns comandos -r e -R fazem coisas diferentes.

Perguntas

Q. O que xargs faz?

Transforma linhas de entrada em argumentos de outro comando; nomes com espaços quebram tudo, a não ser que os dois lados usem NUL, ou seja find -print0 com xargs -0.

Q. Como se digita?

[cmd] | xargs [cmd2] — os colchetes marcam o que você pode omitir.

Q. Quantas opções vale a pena saber?

Aqui estão 6; a lista completa está em man xargs. Este comando fica em Processamento de texto.

Comandos relacionados

página man: man xargs