12 ejemplos prácticos del comando Xargs de Linux para principiantes

12 ejemplos prácticos del comando Xargs de Linux para principiantes

Xargs. es un gran comando que lee flujos de datos de la entrada estándar, luego genera y ejecuta líneas de comando; lo que significa que puede tomar la salida de un comando y pasarlo como argumento de otro comando. Si no se especifica ningún comando, xargs ejecuta echo de forma predeterminada. También puede indicarle que lea datos de un archivo en lugar de stdin.

Hay varias formas en las que xargs. es útil en el uso diario de la línea de comandos. En este artículo, explicaremos 12 ejemplos prácticos de comandos xargs de Linux para principiantes.

1.. El primer ejemplo muestra cómo encontrar todas las imágenes.png y archivarlas usando el tar de la siguiente manera.

Aquí, el comando de acción-print0 habilita la impresión de la ruta completa del archivo en la salida estándar, seguida de un carácter nulo y el indicador-0 xargs trata efectivamente con el espacio en los nombres de archivo.

$ buscar Imágenes/tecmint/-name “*.png”-type f-print0 | xargs-0 tar-cvzf images.tar.gz  Buscar imágenes y archivar con alquitrán  Buscar imágenes y archivar usando Tar Buscar imágenes y archivar con Tar

2.. También puede convertir la salida de varias líneas del comando ls en una sola línea usando xargs. de la siguiente manera.

$ ls-1 Imágenes/tecmint/$ ls-1 Imágenes/tecmint/| xargs  Listar archivos en una sola línea  Listar archivos en una sola línea Listar archivos en una sola línea freestar.config.enabled_slots.push (LocationName : “tecmint_incontent”, slotId: “tecmint_incontent”);

3.. Para generar una lista compacta de todas las cuentas de usuario de Linux en el sistema, use el siguiente comando.

$ cut-d:-f1  Buscar lista de usuarios de Linux Buscar lista de usuarios de Linux

4.. Suponiendo que tiene una lista de archivos y desea saber el número de líneas/palabras/caracteres. en cada archivo de la lista, puede usar el comando ls y xargs. para este propósito de la siguiente manera.

$ ls * upload * | xargs wc Contar el número de líneas, palabras y caracteres en los archivos  Contar el número de líneas, palabras y caracteres en los archivos Contar el número de líneas, palabras y caracteres en los archivos

5.. Xarags también le permite buscar y eliminar de forma recursiva un directorio, por ejemplo, lo siguiente El comando eliminará de forma recursiva DomTerm. en el directorio Descargas.

$ buscar Descargas-nombre “DomTerm”-tipo d-print0 | xargs-0/bin/rm-v-rf “”  Buscar y eliminar de forma recursiva el directorio  Buscar y eliminar directorio de forma recursiva Buscar y eliminar de forma recursiva el directorio

6.. De forma similar al comando anterior, puedes también encuentra todos los archivos llamados net_stats. en el directorio actual y los elimina.

$ find.-nombre “net_stats”-type f-print0 | xargs-0/bin/rm-v-rf “”

7.. Luego, use xargs. para copiar un archivo en varios directorios a la vez; en este ejemplo estamos intentando copiar el archivo.

$ echo ./Templates/./Documents/| xargs-n 1 cp-v ./Downloads/SIC_Template.xlsx  Copiar archivo en varios directorios  Copiar archivo a múltiples directorios Copiar archivo a varios directorios

8.. También puede utilizar el comando de búsqueda, xargs. y renombrar los comandos juntos para renombrar todos los archivos o subdirectorios en un directorio en particular a minúsculas de la siguiente manera.

$ find Documnets-depth | xargs-n 1 renombrar-v ‘s/(.*)\/([^\/]*)/$ 1 \/\ L $ 2/’ \;

9.. Aquí hay otro ejemplo de uso útil para xargs. muestra cómo eliminar todos los archivos dentro de un directorio excepto uno o algunos archivos con una extensión determinada.

$ buscar.-type f-not-name ‘* gz’-print0 | xargs-0-I rm-v

10.. Como se mencionó anteriormente, puede indicar a xargs. que lea elementos de un archivo en lugar de la entrada estándar usando el indicador-a como se muestra.

$ xargs-a rss_links.txt

11.. Puede habilitar la verbosidad usando el indicador-t, que le dice a xargs. para imprimir la línea de comando en la salida de error estándar antes de ejecutarla.

$ buscar Descargas-name “DomTerm”-type d-print0 | xargs-0-t/bin/rm-rf “”

12.. De forma predeterminada, xargs. termina/delimita elementos usando espacios en blanco, puede usar el-d para establecer el delimitador, que puede ser un solo carácter, un carácter de escape de estilo C como \ n, o un código de escape octal o hexadecimal.

Además, también puede preguntar al usuario sobre ya sea para ejecutar cada línea de comando y leer una línea desde la terminal, usando el indicador-p como se muestra (simplemente escriba y para . o n para no. .

$ echo ./Templates/./Documents/| xargs-p-n 1 cp-v ./Downloads/SIC_Template.xlsx Preguntar al usuario antes de ejecutar el comando  Preguntar al usuario antes de ejecutar el comando Preguntar al usuario antes de ejecutar el comando

Para obtener más información, lea la página de manual de xargs.

$ man xargs

Eso es todo para ¡ahora! Xargs. es una poderosa utilidad para construir una línea de comando; puede ayudarlo a pasar la salida de un comando como argumento de otro comando para su procesamiento. En este artículo, hemos explicado 12 ejemplos prácticos de comandos xargs para principiantes. Comparta sus pensamientos o preguntas con nosotros a través del formulario de comentarios a continuación.