¿Qué es el comando «xargs»?

¿Qué es el comando “xargs”?

¿Qué es el comando «xargs»?

VALORACIÓN DEL ARTÍCULO:
5/5


El comando xargs se usa típicamente en una línea de comandos donde la salida de un comando se pasa como argumento de entrada a otro comando.

En muchos casos, no se necesita ningún comando especial como xargs para lograrlo, ya que los operadores «pipe» y «redirection» realizan el mismo tipo de transacción. Sin embargo, a veces hay problemas con el mecanismo básico de tuberías y redireccionamiento, por ejemplo, si los argumentos contienen espacios que los xargs superan.

Además, xargs ejecuta el comando especificado repetidamente, si es necesario, para procesar todos los argumentos que se le han dado. De hecho, puede especificar cuántos argumentos deben leerse del flujo de entrada estándar cada vez que el xargs ejecute el comando especificado.

Cuándo usarlo

En general, el comando xargs debe ser usado si la salida de un comando debe ser usada como parte de las opciones o argumentos de un segundo comando al que se envían los datos (usando el operador de tubería «|»). La tubería regular es suficiente si se pretende que los datos sean la entrada (estándar) del segundo comando.

Por ejemplo, si utiliza el comando ls para generar una lista de nombres de archivo y directorios, y luego pipetea esta lista en el comando xargs que ejecuta echo, puede especificar cuántos nombres de archivo o nombres de directorio son procesados por echo en cada iteración de la siguiente manera:

En este caso, echo recibe cinco nombres de archivos o directorios a la vez. Dado que echo añade un nuevo carácter de línea al final, se escriben cinco nombres en cada línea.

Si ejecuta un comando que devuelve un número grande e impredecible de elementos (por ejemplo, nombres de archivos) que se pasan a otro comando para su procesamiento posterior, es una buena idea controlar el número máximo de argumentos que recibe el segundo comando para evitar sobrecargas y caídas.

Algunos ejemplos

La siguiente línea de comandos particiona el flujo de nombres de archivos producidos al encontrar los grupos de 200 antes de pasar al comando cp, que los copia al directorio backup.

El elemento «./» del comando find especifica el directorio actual para la búsqueda. El argumento «-type f» restringe la búsqueda a los archivos, y la bandera «-nombre «*.txt» filtra aún más cualquier cosa que no tenga la extensión «.txt». El indicador -i en xargs indica que la notación {} representa cada nombre de archivo del vapor.

El siguiente comando encuentra los archivos nombrados core en o debajo del directorio /tmp y los elimina.

find /tmp -nombre núcleo -tipo f -print | xargs /bin/rm -f

Tenga en cuenta que esto no funcionará correctamente si hay nombres de archivo que contengan líneas nuevas, comillas simples o dobles, o espacios. La siguiente versión procesa los nombres de archivos de tal manera que los nombres de archivos o directorios que contengan comillas simples o dobles, espacios o líneas nuevas se manejen correctamente.

find /tmp -nombre núcleo -tipo f -print0 | xargs -0 /bin/rm -f

En lugar de la opción -i también puede utilizar el indicador -I que especifica la cadena que es reemplazada por la línea de entrada en los argumentos de comando como en este ejemplo:

ls dir1 | xargs -I {} -t mv dir1/{} dir/{} /code>
La cadena de sustitución se define como "{}". Esto significa que cualquier ocurrencia de "{}" en los argumentos del comando es reemplazada por el elemento de entrada enviado a args a través de la operación de la tubería. Esto le permite colocar los elementos de entrada en posiciones específicas en los argumentos del comando a ejecutar (repetidamente).

TAMBIÉN TE INTERESA

recetas-de-postres

Conviértete en todo un chef con las recetas de cocina de Alexa

El famoso asistente de voz de Amazon puede hacer casi de todo lo que le pidas, incluidas las recetas de cocina de Alexa. Tras cinco años de vida en España, algo más en Estados Unidos, los datos que maneja la compañía indican que muchas personas recurren a Alexa como su ayudante en la cocina, ya

videos-TikTok

TikTok vs. Google: la red social planta cara al buscador rey

Las búsquedas en Internet viven su particular Juego de Tronos. Google siempre ha estado sentado en el Trono de Hierro pero cada vez más familias están pujando por destronar al rey. Sin duda, Microsoft se ha postulado como un digno rival con su navegador Edge y la puesta en marcha de la IA en esta

Zoom-Workplace

Zoom Workplace, la plataforma de trabajo que ha ideado Zoom con base en la IA

En cuestión de cuatro años, Zoom ha pasado de ser una gran desconocida a toda una referencia en el mundo de las comunicaciones. De emerger como herramienta de videollamadas en la pandemia, hoy Zoom se ha convertido en toda una solución multiusos para la vida diaria y el trabajo, cuya culminación se ha traducido con

fusión-Orange-MásMóvil

Orange y MásMóvil: arranca el nuevo gigante de las teleco en España

Orange y MásMóvil han anunciado al fin la formación de su nueva empresa conjunta, completando así el acuerdo para fusionar sus operaciones en España. Tras años de negociación, se ha completado una operación que ha dado lugar a la creación de la mayor operadora de telecomunicaciones en España. Los accionistas de ambas compañías poseen el

Instagram-Creator-Marketplace

España, a la espera del Instagram Creator Marketplace

Instagram es una de las redes sociales de mayor impacto en la población española. Desde su irrupción, la figura del influencer ha crecido enormemente en el mundo del marketing y las marcas. La herramienta Instagram Creator Marketplace puede seguir fortaleciendo a estos prescriptores, visto el potencial que empieza a tener este servicio en Estados Unidos.