xargs kommando i Linux med exempel

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