Si intenta canalizar la salida de un comando de Linux a otro, puede encontrarse con errores en los que el comando falla porque su lista de argumentos es demasiado larga.

Afortunadamente, hay un comando en los sistemas Linux que formatea correctamente los argumentos en comandos. Se llama xargs y así es como se usa.

¿Por qué usar xargs?

Lo que hace xargs es que recibe la salida estándar y la formatea para que otro comando pueda recibirla. Si bien muchas utilidades de Linux pueden aceptar entradas estándar, algunas solo aceptan argumentos como entrada.

Estos pueden fallar si intenta redirigir la entrada estándar al comando. Algunos comandos solo aceptan una cierta cantidad de argumentos y xargs se encarga de esto por usted.

Cómo usar xargs en Linux

Puedes llamar a xargs así:

xargs [comando]

xargs realiza un seguimiento de la longitud de los argumentos que acepta un comando y formatea la entrada estándar para generar una lista de argumentos para proporcionar al comando. Cuando alcance el límite de una línea de comando, invocar el comando de nuevo con los argumentos restantes.

instagram viewer

Uso de xargs en Pipelines

La utilidad de xargs surge cuando se usa en canalizaciones. Un ejemplo artificial sería canalizar cat to echo, que es un comando que solo acepta argumentos, no entradas estándar.

gato | eco

Esto hará que echo imprima lo que escriba en una línea tan pronto como presione Ctrl+D.

xargs se usa más comúnmente con el comando de búsqueda, con el comando de búsqueda se usa para listar archivos y xargs se usa para procesar la lista de archivos de alguna manera.

La sintaxis del comando de búsqueda es lo suficientemente peluda, entonces, ¿por qué agregar otro comando? Si usa find's "-ejecutivo", activará un nuevo proceso cada vez que busque un archivo en el directorio. Usar xargs es más eficiente.

Es posible que desee eliminar archivos en un directorio que tengan más de una fecha determinada, como 90 días. Para hacer esto, usaría esta canalización:

encontrar. -mtime +90 -imprimir | xargs rm

xargs ayuda a que los comandos de Linux procesen la entrada correctamente

Con xargs, ahora puede asegurarse de que los comandos tomen los argumentos de la manera que espera. Combinado con find, le permitirá procesar archivos en su máquina rápidamente.

La capacidad de redirigir la entrada y la salida en el shell es una de las fortalezas perdurables de Linux como consecuencia de la filosofía de Unix. Si desea obtener más información sobre cómo funciona la redirección de entrada/salida de Linux, siga leyendo.

Comprender la E/S estándar en Linux

Mejore su flujo de trabajo de línea de comandos de Linux al canalizar múltiples comandos usando E/S estándar.

Leer siguiente

CuotaPíoCorreo electrónico
Temas relacionados
  • linux
  • Comandos Linux
  • Consola Bash de Linux
Sobre el Autor
david delony (81 artículos publicados)

David es un escritor independiente con sede en el noroeste del Pacífico, pero originalmente proviene del Área de la Bahía. Ha sido un entusiasta de la tecnología desde la infancia. Los intereses de David incluyen leer, ver películas y programas de televisión de calidad, jugar juegos retro y coleccionar discos.

Más de David Delony

Suscríbete a nuestro boletín

¡Únase a nuestro boletín para obtener consejos técnicos, reseñas, libros electrónicos gratuitos y ofertas exclusivas!

Haga clic aquí para suscribirse