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