Inicio·Comandos de terminal

xargs

Procesado de texto

Uso

[cmd] | xargs [cmd2]

Convierte líneas de entrada en argumentos de otra orden; los nombres con espacios lo rompen salvo que ambos lados usen NUL, es decir find -print0 con xargs -0.

Opciones habituales

OpciónSignificado
-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

Ejemplos

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.

Están hechos para encadenarse con tuberías. Tres comandos unidos suelen ser más cortos que uno que lo haga todo.

Cómo leerlo

  • Los corchetes [ ] marcan una parte que puedes omitir.
  • Los puntos suspensivos … indican que puedes poner varios.
  • Las opciones distinguen mayúsculas: en algunos comandos -r y -R no hacen lo mismo.

Preguntas

Q. ¿Qué hace xargs?

Convierte líneas de entrada en argumentos de otra orden; los nombres con espacios lo rompen salvo que ambos lados usen NUL, es decir find -print0 con xargs -0.

Q. ¿Cómo se escribe?

[cmd] | xargs [cmd2] — los corchetes marcan lo que puedes omitir.

Q. ¿Cuántas opciones vale la pena saber?

Aquí van 6; la lista completa está en man xargs. Este comando está en Procesado de texto.

Comandos relacionados

página man: man xargs