Comando xargs en Linux con ejemplos

xargs
es un comando de Unix que se puede usar para construir y ejecutar comandos desde la entrada estándar.

Importancia:
algunos comandos como grep pueden aceptar entradas como parámetros, pero algunos comandos aceptan argumentos, este es el lugar donde xargs entró en escena.

Sintaxis:

xargs [options] [command]

Opciones de xargs:
-0: los elementos de entrada terminan con un carácter nulo en lugar de espacios en blanco
-a file: lee los elementos del archivo en lugar de la entrada estándar
–delimiter = delim: los elementos de entrada terminan con un carácter especial
-E eof-str: establece el final de la string de archivo a eof-str
-I replace-str : reemplaza las ocurrencias de replace-str en los argumentos iniciales con nombres leídos de la entrada estándar
-L max-lines : usa como máximo max-lines líneas de entrada que no estén en blanco por comando línea.
-p: pregunta al usuario si debe ejecutar cada línea de comando y leer una línea desde la terminal.
-r: si la entrada estándar no contiene ningún espacio en blanco, no ejecute el comando
-x: sale si se excede el tamaño.
–ayuda: imprime el resumen de opciones para xargs y sale
–versión: imprime el número de versión. de xargs y salida

Ejemplo :

ejemplo de xargs

Ejemplo:
a continuación se muestra el programa C, que lee un archivo de texto «test.txt» y luego usa la salida de este programa como entrada para tocar el comando.

contenido del archivo de texto “test.txt”

file1
file2
file3
file4
// C program to read contents of file
#include <stdio.h>
  
// Driver Code
int main(){
    int c;
    FILE *file;
  
    // open file test.txt
    file = fopen("test.txt", "r");
    if (file) {
  
        // read file line-by-line until
        // end of file
        while ((c = getc(file)) != EOF)
            putchar(c);
  
        fclose(file);
    }
    return 0;
}

Producción :

file1
file2
file3
file4

Ahora, use la salida de ./a.out como entrada para tocar el comando

ejemplo de xargs con toque

Uso de comandos con opciones:

xargs --version

Imprime el número de versión del comando xargs y luego sale.

Producción :

xargs (GNU findutils) 4.7.0-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
xargs -a test.txt

Mostrará el contenido del archivo.

file1
file2
file3
file4
xargs -p  -a test.txt

La opción -p solicita confirmación antes de ejecutar cada línea de comando. Solo ejecuta la línea de comando si la respuesta comienza con ‘y’ o ‘Y’

Producción :

# xargs -p  -a test.txt
echo file1 file2 file3 file4 ?...y
file1 file2 file3 file4

# xargs -p  -a test.txt                                                                                                                 
echo file1 file2 file3 file4 ?...n
 xargs -r -a test.txt

Ahora, supongamos que el archivo «test.txt» está vacío y se ejecuta el comando anterior, la opción -r garantiza que si la entrada estándar está vacía, entonces el comando no se ejecuta, por lo que el comando anterior no producirá ningún resultado,
pero, si el comando anterior se ejecuta sin la opción -r, producirá una línea en blanco como salida.
Vea la imagen a continuación como ejemplo:

xargs con la opción -r

Mandeep Singh

Referencias:
1) xargs wikipedia
2) necesidad de xargs
3) página manual de xargs

Publicación traducida automáticamente

Artículo escrito por msdeep14 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *