Comando xargs su Linux: come eseguire comandi con argomenti da stdin
Con xargs di Linux, puoi convertire l’input standard in comandi e utilizzarli direttamente. Sebbene questo comando non sia usato molto spesso in Linux, può semplificarti molto il lavoro.
Cos’è il comando xargs su Linux?
Il comando Linux xargs (“extended arguments”) rientra tra quelli che molti utenti non usano mai o solo raramente. Tuttavia, può rendere il lavoro molto più semplice e può persino salvaguardare il computer. In parole povere, xargs di Linux collega due comandi tra loro, valutando l’output di uno e applicando i risultati al secondo. Questo è particolarmente vantaggioso se si elaborano un gran numero di file e si devono eseguire alcune operazioni più volte.
Il comando xargs è incluso nella maggior parte delle distribuzioni Linux, come Debian o Ubuntu, e non deve essere installato separatamente.
Come funziona il comando xargs?
xargs legge i dati da stdin (cioè lo standard input) e li converte in righe di comando. Per fare ciò, il comando corrispondente deve essere fornito al comando come parametro o argomento. I rispettivi comandi vengono quindi eseguiti una o più volte. Se non si fornisce un comando speciale come parametro, xargs utilizza automaticamente il comando echo di Linux.
Qual è la sintassi di xargs?
Se desideri usare il comando xargs nel terminale, ricorri a questa sintassi:
$ Primo_comando | xargs [Opzioni] [Secondo_comando]
bashQuesto fa sì che il secondo comando venga eseguito con gli argomenti del primo.
Quali opzioni ha il comando xargs?
Esistono numerose opzioni per xargs di Linux. Queste sono le più importanti:
- -0 o –null: questa opzione fa sì che ogni carattere venga preso alla lettera e che gli argomenti vengano separati grazie al carattere NULL.
- -a o –arg-file: questa opzione fa sì che gli argomenti vengano letti da un file piuttosto che dall’input standard.
- -d o –delimiter: con questa opzione, i delimitatori si basano sul carattere separatore e non sul carattere spazio. Anche in questo caso, ogni carattere viene preso alla lettera.
- -p o –interactive: questa opzione chiede se xargs deve continuare prima di ogni esecuzione.
Esempi per l’uso del comando xargs su Linux
La funzionalità del comando xargs può essere illustrata al meglio con alcuni esempi.
$ find -name "*.txt" | xargs rm
bashIn questo esempio, si applica xargs con il comando find e il comando rm su Linux. Il risultato è che tutti i file con estensione .txt vengono rimossi dal file system del computer.
$ find -name "*.txt" | xargs grep "fattura"
bashIn questo modo trovi tutti i file che contengono la parola “fattura”. Per ottenere questo risultato, usi in aggiunta il comando grep di Linux.