xargs-opdracht in Linux met voorbeelden

xargs-opdracht in Linux met voorbeelden

xargs is een Unix-opdracht die kan worden gebruikt om opdrachten op basis van standaardinvoer te bouwen en uit te voeren.

Belang:

Sommige commando's zoals grep kunnen invoer als parameters accepteren, maar sommige commando's accepteren argumenten, dit is een plek waar xargs in beeld kwam.

Syntaxis van de opdracht `xargs` in Linux

xargs [options] [command] 

Opties Beschikbaar in de opdracht `xargs` in Linux

Opties

Beschrijving

-0

invoeritems worden afgesloten met een null-teken in plaats van spaties

-een bestand

items uit bestand lezen in plaats van standaardinvoer

–scheidingsteken = delen

invoeritems worden afgesloten met een speciaal teken

-E eof-str

stel het einde van de bestandsreeks in op eof-str

-Ik vervang-str

vervang exemplaren van Replace-str in de initiële argumenten door namen die worden gelezen uit standaardinvoer

-L max-lijnen

gebruik maximaal max-lines niet-lege invoerregels per opdrachtregel.

-P

vraag de gebruiker of hij elke opdrachtregel moet uitvoeren en een regel van de terminal moet lezen.

-R

Als de standaardinvoer geen niet-lege tekens bevat, voert u de opdracht niet uit

-X

afsluiten als de grootte wordt overschreden.

-hulp

druk de samenvatting van de opties af naar xargs en sluit af

-versie

print het versienr. van xargs en exit

Voorbeeld :

xargs voorbeeld

Hieronder staat het C-programma, dat een tekstbestand test.txt leest en vervolgens de uitvoer van dit programma gebruikt als invoer voor een aanraakopdracht. inhoud van tekstbestand 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;> }>

Uitgang:

file1 file2 file3 file4 

Gebruik nu de uitvoer van ./a.uit als invoer voor een aanraakopdracht

xargs voorbeeld met aanraking

Commandogebruik met opties:

  xargs --version 

Drukt het versienummer van de xargs-opdracht af en sluit vervolgens af.

Uitgang:

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 

Het toont de inhoud van het bestand

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

-p optie vraagt ​​om bevestiging voordat elke opdrachtregel wordt uitgevoerd. Het voert de opdrachtregel alleen uit als het antwoord begint met ‘y’ of ‘Y’

# 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 

Laten we nu aannemen dat het bestand test.txt leeg is en het bovenstaande commando wordt uitgevoerd. De optie -r zorgt ervoor dat als de standaardinvoer leeg is, het commando niet wordt uitgevoerd, dus het bovenstaande commando zal geen uitvoer produceren. Maar als het bovenstaande commando wordt uitgevoerd zonder -r optie zal het een lege regel als uitvoer produceren. Zie onderstaande afbeelding als voorbeeld:

xargs met -r optie