logo

Comandament xargs a Linux amb exemples

xargs és una ordre Unix que es pot utilitzar per crear i executar ordres des d'una entrada estàndard.

Importància:



Algunes ordres com grep poden acceptar entrada com a paràmetres, però algunes ordres accepten arguments, aquest és un lloc on els xargs van entrar en escena.

Sintaxi de l'ordre `xargs` a Linux

xargs [options] [command]>

Opcions disponibles a l'ordre `xargs` a Linux

Opcions

Descripció



-0

els elements d'entrada s'acaben amb un caràcter nul en lloc d'espais en blanc

-un arxiu



llegir elements del fitxer en lloc de l'entrada estàndard

–delimitador = dividir

els elements d'entrada s'acaben amb un caràcter especial

-E eof-str

establiu el final de la cadena del fitxer a eof-str

-Sustitueixo-str

substituïu les ocurrències de replace-str als arguments inicials amb noms llegits des de l'entrada estàndard

-L max-lines

utilitzeu com a màxim línies d'entrada no en blanc per línia d'ordres.

-p

demanar a l'usuari si ha d'executar cada línia d'ordres i llegir una línia des del terminal.

-r

Si l'entrada estàndard no conté cap espai en blanc, no executeu l'ordre

-x

sortir si es supera la mida.

–ajuda

imprimir el resum d'opcions a xargs i sortir

-versió

imprimir la versió núm. de xargs i sortida

Exemple:

exemple de xargs

A continuació es mostra el programa C, que llegeix un fitxer de text test.txt i després utilitza la sortida d'aquest programa com a comandament d'entrada per tocar. contingut del fitxer de text test.txt

file1 file2 file3 file4>

C




// C program to read contents of file> #include> // 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;> }>

>

>

Sortida:

file1 file2 file3 file4>

Ara, utilitzeu la sortida de ./a.out com a comandament d'entrada per tocar

exemple de xargs amb tacte

Ús de comandaments amb opcions:

  xargs --version>

Imprimeix el número de versió de l'ordre xargs i després surt.

Sortida:

desactivar el mode de desenvolupador d'Android
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 contingut del fitxer

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

L'opció -p demana confirmació abans d'executar cada línia d'ordres. Només executa la línia d'ordres si la resposta comença amb 'y' o 'Y' Sortida:

# 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>

Ara, suposem que el fitxer test.txt està buit i que s'executa l'ordre anterior, l'opció -r garanteix que si l'entrada estàndard està buida, aleshores l'ordre no s'executa, de manera que l'ordre anterior no produirà cap sortida, però, si s'executa l'ordre anterior sense l'opció -r, produirà una línia en blanc com a sortida. Vegeu la imatge següent com a exemple:

xargs amb l'opció -r