logo

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:

mvc met 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>

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