miércoles, 11 de mayo de 2016

xargs

El comando xargs realiza una función interesante. Acepta entradas de la entrada estándar y las convierte en una lista de argumentos para el comando especificado. Con nuestro ejemplo, podríamos usarlo así:

find ~ -type f -name 'foo*' -print | xargs ls -l
-rwxr-xr-x 1 me me 224 2007-10-29 18:44 /home/me/bin/foo
-rw-r--r-- 1 me me   0 2008-09-19 12:53 /home/me/foo.txt

Aquí vemos la salida del comando find canalizada al comando xargs que, a su vez, construye una lista de argumentos para el comando ls y luego lo ejecuta.

Nota: Si bien el número de argumentos que pueden colocarse en una línea de comandos es bastante largo, no es ilimitado. Es posible crear comandos que son demasiado largos para que los acepte el shell. Cuando una línea de comandos excede la longitud máxima soportada por el sistema, xargs ejecuta el comando especificado con el máximo número de argumentos posible, y luego repite el proceso hasta que se agote la entrada estándar. Para ver el tamaño máximo de la línea de comandos, ejecuta xargs con la opción --show limits.

No hay comentarios:

Publicar un comentario