logo

Comando xargs in Linux con esempi

xargs è un comando Unix che può essere utilizzato per creare ed eseguire comandi da input standard.

Importanza:



Alcuni comandi come grep possono accettare input come parametri, ma alcuni comandi accettano argomenti, questo è il punto in cui xargs è entrato in scena.

Sintassi del comando `xargs` in Linux

xargs [options] [command]>

Opzioni disponibili nel comando 'xargs' in Linux

Opzioni

Descrizione



-0

gli elementi di input terminano con un carattere null anziché con spazi bianchi

-un file



leggere elementi dal file invece che dall'input standard

–delimitatore = dividere

gli elementi di input terminano con un carattere speciale

-E eof-str

imposta la fine della stringa del file su eof-str

-Sostituisco-str

sostituire le occorrenze di replace-str negli argomenti iniziali con nomi letti dallo standard input

-L linee massime

utilizzare al massimo righe di input non vuote per riga di comando.

-P

chiedere all'utente se eseguire ciascuna riga di comando e leggere una riga dal terminale.

-R

Se lo standard input non contiene spazi non vuoti, non eseguire il comando

-X

uscire se la dimensione viene superata.

-aiuto

stampa il riepilogo delle opzioni su xargs ed esce

-versione

stampa la versione n. di xargs ed esci

Esempio :

esempio di xargs

Di seguito è riportato il programma C, che legge un file di testo test.txt e quindi utilizza l'output di questo programma come input per il comando touch. contenuto del file di testo 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;> }>

>

>

Produzione :

file1 file2 file3 file4>

Ora usa l'output di ./a.out come input per il comando touch

Esempio xargs con touch

Utilizzo dei comandi con opzioni:

  xargs --version>

Stampa il numero di versione del comando xargs e poi esce.

Produzione :

df.loc
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>

Mostrerà il contenuto del file

file1 file2 file3 file4>
  xargs -p -a test.txt>

L'opzione -p richiede conferma prima di eseguire ciascuna riga di comando. Esegue la riga di comando solo se la risposta inizia con 'y' o '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>

Ora, supponiamo che il file test.txt sia vuoto e che venga eseguito il comando precedente, l'opzione -r garantisce che se l'input standard è vuoto, il comando non venga eseguito, quindi il comando precedente non produrrà alcun output, ma, se viene eseguito il comando precedente senza l'opzione -r, produrrà una riga vuota come output. Vedi l'immagine qui sotto come esempio:

xargs con l'opzione -r