xargs kommando i Linux med exempel
xargs är ett Unix-kommando som kan användas för att bygga och utföra kommandon från standardinmatning.
Betydelse:
Vissa kommandon som grep kan acceptera inmatning som parametrar, men vissa kommandon accepterar argument, detta är en plats där xargs kom in i bilden.
Syntax för kommandot 'xargs' i Linux
xargs [options] [command]
Alternativ tillgängliga i kommandot `xargs` i Linux
| alternativ | Beskrivning |
|---|---|
| -0 | indataobjekt avslutas med nolltecken istället för blanksteg |
| -en fil | läs objekt från filen istället för standardinmatning |
| –avgränsare = dividera | inmatningsobjekt avslutas med ett specialtecken |
| -E eof-str | ställ in slutet av filsträngen till eof-str |
| -Jag ersätter-str | ersätt förekomster av replace-str i de initiala argumenten med namn som läses från standardinmatning |
| -L max-linjer | använd högst max-rader som inte är tomma inmatningsrader per kommandorad. |
| -s | fråga användaren om att köra varje kommandorad och läsa en rad från terminalen. |
| -r | Om standardinmatningen inte innehåller några icke-blanks, kör inte kommandot |
| -x | avsluta om storleken överskrids. |
| -hjälp | skriv ut sammanfattningen av alternativ för att xargs och avsluta |
| -version | skriv ut versionsnr. av xargs och avsluta |
Exempel:
xargs exempel
Nedan är C-programmet, som läser en textfil test.txt och sedan använder utdata från detta program som input till touch-kommando. innehållet i textfilen 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;> }> |
Utgång:
file1 file2 file3 file4
Använd nu output av ./a.ut som ingång till beröringskommando
xargs exempel med beröring
Kommandoanvändning med alternativ:
xargs --version
Skriver ut versionsnumret för xargs-kommandot och avsluta sedan.
Utgång:
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
Det kommer att visa innehållet i filen
file1 file2 file3 file4
xargs -p -a test.txt
-p-alternativet frågar efter bekräftelse innan varje kommandorad körs. Den kör bara kommandoraden om svaret börjar med 'y' eller 'Y' Output:
# 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
Låt oss nu anta att filen test.txt är tom och kommandot ovan exekveras, -r alternativet säkerställer att om standardinmatningen är tom, så exekveras inte kommandot, så kommandot ovan kommer inte att producera någon utdata, men om ovanstående kommando exekveras utan -r-alternativet kommer det att producera en tom rad som utdata. Se bilden nedan som exempel:
xargs med -r-alternativet