xargs es un comando en UNIX como System que lee elementos de la entrada estándar delimitado por espacios en blanco (que se pueden proteger con comillas simples o dobles o una barra invertida) o líneas nuevas, y ejecuta el comando (el valor predeterminado es /bin/echo) una o más veces con argumentos iniciales seguidos de elementos leídos de la entrada estándar. Las líneas en blanco en la entrada estándar se ignoran.
El comando xargs es muy útil cuando se combina con otros comandos. De forma predeterminada, espera la entrada de STDIN .xargs se usa básicamente para mejorar la salida del comando inicial y utilizar la salida para realizar numerosas operaciones .
En esta publicación discutiremos 11 ejemplos prácticos del comando linux xargs
Ejemplo:1 Uso básico de xargs
Escriba xargs, esperará una entrada nuestra, comience a escribir con enter para la siguiente línea y luego haga ctrl+d para ver el resultado como se muestra a continuación.
[email protected]:~$ xargs hello john this is me ( ctrl+d) hello john this is me [email protected]:~$home/Downloads#
Ejemplo:2 Uso de delimitadores en xargs (-d)
Aquí especificamos un delimitador usando la opción -d , con \n como delimitador. Hace eco de la cadena de vuelta a la pantalla cuando presionamos ctrl+d
[[email protected] ~]# xargs -d\n Hi Welcome here Now press Ctrl+D Hi Welcome here Now press Ctrl+D [[email protected] ~]#
Ejemplo:3 Limitación de salida por línea (-n)
Podemos limitar la salida según el requisito usando la opción -n en el comando xargs, por ejemplo, para mostrar solo 2 elementos por línea,
[email protected]:~$ echo a1 b2 c3 d4 e45 a1 b2 c3 d4 e5 [email protected]:~$ echo a1 b2 c3 d4 e5 | xargs -n 2 a1 b2 c3 d4 e5 [email protected]:~$
Ejemplo:4 Habilitar solicitud de usuario antes de la ejecución (-p)
Usando la opción -p en el comando xargs, se le preguntará al usuario antes de la ejecución con y (significa sí) y n (significa que no) opciones.
[email protected]:~$ echo a1 b2 c3 d4 e5 | xargs -p -n 2 /echo a1 b2 ?...y a1 b2 echo c3 d4 ?...y c3 d4 echo e5 ?...n [email protected]:~$ [email protected]:~$ echo a1 b2 c3 d4 e5 | xargs -p -n 2 /echo a1 b2 ?...y a1 b2 echo c3 d4 ?...y c3 d4 echo e5 ?...y e5 [email protected]:~$
Ejemplo:5 Eliminar archivos usando find y xargs
Supongamos que queremos eliminar los archivos *.txt de la carpeta /tmp, ejecute el siguiente comando,
[email protected]:~$ find /tmp -type f -name '*.txt' | xargs rm
Ejemplo:6 Usar Xargs y el comando grep para buscar
podemos usar el comando grep con xargs para filtrar la búsqueda particular del resultado del comando find. A continuación se muestra un ejemplo:
[email protected]:~$ find . -name "stamp" | xargs grep "country" country_name [email protected]:~$
Ejemplo:7 Manejar el espacio en los nombres de archivo
xargs también puede manejar espacios en archivos usando print0 y xargs -0 argumentos para encontrar el comando.
[email protected]:~$ find /tmp -name "*.txt" -print0 | xargs -0 ls /tmp/abcd asd.txt /tmp/asdasd asdasd.txt /tmp/cdef.txt [email protected]:~$ find /tmp -name "*.txt" -print0 | xargs -0 rm [email protected]:~$
Ejemplo:8 Usar xargs con el comando de corte
Para la demostración, primero creemos un archivo cars.txt con el siguiente contenido:
[email protected]:~$ cat cars.txt Hundai,Santro Honda,Mobilio Maruti,Ertiga Skoda,Fabia
Para mostrar datos en primera columna como se muestra a continuación.
[email protected]:~$ cut -d, -f1 cars.txt | sort | xargs Honda Hundai Maruti Skoda [email protected]:~$
Ejemplo:9 Cuente el número de líneas en cada archivo
[email protected]:~$ ls -1 *.txt | xargs wc -l 4 cars.txt 13 trucks.txt 17 total [email protected]:~$
Ejemplo:10 Mover archivos a una ubicación diferente
[email protected]:~$ pwd /home/linuxtechi [email protected]:~$ ls -l *.sh -rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcde.sh -rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcd.sh -rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 fg.sh [email protected]:~$ sudo find . -name "*.sh" -print0 | xargs -0 -I {} mv {} backup/ [email protected]:~$ ls -ltr backup/ total 0 -rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcd.sh -rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcde.sh -rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 fg.sh [email protected]:~$
Ejemplo:11 Reemplazar cadena en comando Xargs (-i)
Si ejecutamos el siguiente comando, creará tres archivos a, b y c en el directorio de trabajo actual
[email protected]:~$ printf "a\nb\nc\n" | xargs touch
Si desea crear a.txt, b.txt y c.txt, use el parámetro -i en el comando xargs, reemplazará una cadena 'a ' con a.txt y así sucesivamente
[email protected]:~$ printf "a\nb\nc\n" | xargs -i touch {}.txt
Eso es todo de este artículo, espero que estos ejemplos de comandos xargs sean informativos para usted. Siéntase libre de compartir sus opiniones y comentarios.