El comando XARGS es una herramienta de línea de comandos utilizada para leer datos de la entrada estándar y luego ejecuta un comando basado en la entrada estándar. Es una herramienta útil en la administración de archivos, especialmente cuando se usa con otros comandos como MKDIR, GREP, RM, etc. En este tutorial, vamos a aprender a usar Xargs en Linux.
Sintaxis básica
La sintaxis básica al usar el comando xargs es la siguiente:
$ Command1 | comando xargs2
Para pasar el stdout a xargs, usamos un símbolo de tubería (|).
XARGS también se puede usar con varias opciones, y en ese caso, toma la sintaxis:
$ Command1 | comando xargs [opciones]
Usando xargs con el comando buscar
El comando XARGS se usa comúnmente con el comando finales. Se utiliza para buscar archivos específicos y realizar un procesamiento adicional en esos archivos utilizando XARGS. La sintaxis para combinar Xargs con Find es:
$ Find [Directorio] -name "[Search -Term]" -Type F | xargs [comando]
Al usar XARGS con Find, no incluye archivos que contienen caracteres especiales en sus nombres. Es aconsejable usar la opción Find -Print0 para incluir dichos archivos.
En el siguiente ejemplo, utilizaremos el comando Buscar para buscar todos los archivos con el .extensión txt y luego eliminarlos. Primera lista usando el comando ls.
$ LS
Ahora, invocemos el comando Buscar y el comando xargs para localizar todos los archivos de texto (.txt) y eliminarlos.
$ Find /Home /James -name "*.txt "-type f -print0 | xargs rm -f
Usando xargs con grep
Además, el comando XARGS se puede usar con el GREP para buscar una cadena en una lista de archivos especificados. Use la sintaxis a continuación:
$ Find. -Nombre 'Search-Term' | Xargs Grep 'String-to-Find-in-Files'
En el ejemplo a continuación, primero buscamos archivos con el .Extensión txt y luego las metió a Xargs, que luego ejecutó el comando GREP. Podemos observar que buscó la muestra de la cadena.'
Ejecutar múltiples comandos con el comando xargs
Para ejecutar múltiples comandos con XARGS, use la opción -i. La sintaxis utilizada es:
[comando] | xargs -i % sh -c '[comando -1] %; [Comando-2] %'
Echemos un vistazo al ejemplo a continuación; Ejecutaremos dos comandos; Primero, crearemos tres archivos usando el comando touch y luego los enumeraremos usando el comando ls.
Lea los elementos del archivo
XARGS se usa para leer la entrada estándar. Para leer los elementos en un archivo, use el comando xargs junto con la opción -a.
$ xargs -a [nombre de archivo]
Ver comandos ejecutados por XARGS
Para ver los comandos ejecutados por XARGS en salida estándar, use la opción -t. La sintaxis es:
$ [comando] | xargs -t [comando]
En el ejemplo a continuación, observe que XARGS ejecutó el comando touch en la cadena proporcionada por un eco.
Limite la salida por línea
Puede controlar el número de argumentos pasados al comando xargs en un momento dado. Use la opción -n para especificar el número de argumentos que está limitando a XARGS a.
$ [Comando que proporciona la entrada] | xargs -n [número] [comando]
En el siguiente ejemplo, XARGS divide la cadena desde el comando ECHO en. a tres partes. Luego ejecuta el eco para cada parte.
Retire los espacios en blanco en la cadena
XARGS se puede usar como una herramienta para eliminar los espacios en blanco de una cadena. Encontrar la cadena al comando xargs. Use la sintaxis a continuación:
$ echo "cadena" | Xargs
En el ejemplo a continuación, después de ejecutar Xargs, el comando es una cadena se imprime sin ningún espacio antes y después de las cotizaciones dobles
$ echo "comando xargs en Linux" | Xargs
Número de lista de líneas/palabras/caracteres en cada archivo
XARGS se puede usar como una herramienta para mostrar una lista con el número de líneas, palabras y caracteres en los archivos. Use el comando wc (recuento de palabras) después de XARGS para mostrar la línea, la palabra y el recuento de caracteres de archivos específicos
$ ls archivo | Xargs WC
En el ejemplo a continuación, utilizamos WC para enumerar el número de caracteres en los archivos con la cadena "Archivo":
Especificar el delimitador
Para cambiar el delimitador desde el valor predeterminado, use la opción de comando -d seguida de un personaje que desea usar como nuevo delimitador. La sintaxis se muestra a continuación:
$ [comando-] | xargs -d [nuevo delimitante] | xargs [comando]
En la imagen a continuación, cambiamos nuestro delimitador * y luego aplicamos Mkdir a cada comando.
Copiar archivos a múltiples directorios
XARGS se puede usar para copiar archivos a varios directorios. Use la sintaxis a continuación:
$ echo [directorio1] [directorio2] | XARGS -N 1 CP -V [Archivo]
Conclusión
XARGS es una poderosa utilidad de línea de comandos para el uso diario. Para obtener información más detallada, lea el hipervínculo "http: // man7.org/Linux/Man-Pages/Man1/Xargs.1.html ”xargs manual.