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ção | Significado |
|---|---|
| -n | How many arguments to hand over per run |
| -I | Put the argument where a placeholder such as {} sits |
| -0 | Read NUL-separated input, to pair with find -print0 |
| -P | Run that many copies at once |
| -r | Do not run the command at all on empty input |
| -t | Print each command before running it |
Exemplos
find . -name '*.log' -print0 | xargs -0 rmDeletes them even when names hold spaces.
xargs -n1 -P4 curl -O < urls.txtFour 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