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ón | 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 |
Ejemplos
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.
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