¿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

ChatGPT en el trabajo

Cosas que sí y cosas que no le puedes preguntar a ChatGPT en el trabajo

La inteligencia artificial está transformando los departamentos de Recursos Humanos al ofrecer herramientas innovadoras que optimizan procesos, aumentan la eficiencia y brindan información útil para la toma de decisiones. Sin embargo, este cambio también plantea desafíos en cuanto a su correcta implementación y a los límites éticos y operativos. El uso de ChatGPT en el

inteligencia artificial Zoo Aquarium de Madrid

Esta es la forma en la que ha llegado la IA al Zoo Aquarium de Madrid

Hasta en lugares insospechados como el Zoo Aquarium de Madrid está llegando la inteligencia artificial… Pero no, no se trata de animales. Ni tampoco como una forma de gestión administrativa a nivel interno. El proyecto más destacado de este entorno es una cuidadora inteligente de animales presentada como un avatar que es capaz de interactuar

precio galaxy ring

Galaxy Ring: Samsung puja por ser el señor de los añillos (inteligentes)

«Un anillo para gobernarlos a todos», se decía en la famosa trilogía de El Señor de los Anillos. Aplicado al mundo tecnológico, Samsung quiere ser ese rey con su Galaxy Ring, su anillo inteligente que capitanea este joven segmento del que ya hemos hablando en alguna ocasión en Tecnonautas. El Galaxy Ring, lanzado este verano