logo

Comanda xargs în Linux cu exemple

xargs este o comandă Unix care poate fi folosită pentru a construi și executa comenzi de la intrarea standard.

Importanţă:



Unele comenzi precum grep pot accepta intrare ca parametri, dar unele comenzi acceptă argumente, acesta este un loc în care xarg-urile au intrat în imagine.

Sintaxa comenzii `xargs` în Linux

xargs [options] [command]>

Opțiuni disponibile în comanda `xargs` în Linux

Opțiuni

Descriere



-0

elementele de intrare sunt terminate cu un caracter nul în loc de spații albe

-un fișier



citește articole din fișier în loc de intrare standard

–delimitator = împărțire

elementele de intrare sunt terminate cu un caracter special

-E eof-str

setați sfârșitul șirului de fișier la eof-str

-Înlocuiesc-str

înlocuiți aparițiile lui replace-str în argumentele inițiale cu nume citite de la intrarea standard

-L max-linii

utilizați cel mult linii maxime de intrare fără linii goale pe linie de comandă.

-p

cereți utilizatorului dacă să ruleze fiecare linie de comandă și să citească o linie din terminal.

-r

Dacă intrarea standard nu conține spații neblank, nu rulați comanda

-X

ieșiți dacă dimensiunea este depășită.

-Ajutor

tipăriți rezumatul opțiunilor pentru xargs și ieșiți

-versiune

tipăriți versiunea nr. de xargs si iesire

Exemplu:

exemplu xargs

Mai jos este programul C, care citește un fișier text test.txt și apoi utilizează rezultatul acestui program ca comandă de intrare pentru atingere. conținutul fișierului 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;> }>

>

>

Ieșire:

file1 file2 file3 file4>

Acum, utilizați ieșirea de ./a.out ca comandă de intrare la atingere

exemplu xargs cu atingere

Utilizarea comenzilor cu opțiuni:

  xargs --version>

Imprimă numărul versiunii comenzii xargs și apoi iese.

Ieșire:

caracteristicile java
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>

Acesta va afișa conținutul fișierului

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

Opțiunea -p solicită confirmare înainte de a rula fiecare linie de comandă. Rulează linia de comandă numai dacă răspunsul începe cu „y” sau „Y” Ieșire:

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

Acum, să presupunem că fișierul test.txt este gol și comanda de mai sus este executată, opțiunea -r asigură dacă intrarea standard este goală, atunci comanda nu este executată, deci comanda de mai sus nu va produce nicio ieșire, dar, dacă comanda de mai sus este executată fără opțiunea -r, va produce o linie goală ca rezultat. Vedeți imaginea de mai jos ca exemplu:

xargs cu opțiunea -r