logo

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:

iPhone emojis på Android
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