Se si tenta di reindirizzare l'output da un comando Linux a un altro, è possibile che si verifichino errori in cui il comando non riesce perché il suo elenco di argomenti è troppo lungo.
Fortunatamente, esiste un comando sui sistemi Linux che formatta correttamente gli argomenti in comandi. Si chiama xargs ed ecco come usarlo.
Perché usare xargs?
Quello che fa xargs è che riceve l'output standard e lo formatta in modo che un altro comando possa riceverlo. Mentre molte utility Linux possono accettare input standard, alcune accettano solo argomenti come input.
Questi potrebbero non riuscire se si tenta di reindirizzare l'input standard al comando. Alcuni comandi accettano ancora solo un certo numero di argomenti e xargs si occupa di questo per te.
Come usare xargs su Linux
Puoi chiamare xargs in questo modo:
xargs [comando]
xargs tiene traccia della lunghezza degli argomenti che un comando accetta e formatta lo standard input per produrre un elenco di argomenti da fornire al comando. Quando raggiunge il limite di una riga di comando, lo farà
invocare il comando ancora con gli argomenti rimanenti.Utilizzo di xargs in Pipelines
L'utilità di xargs arriva quando viene utilizzato nelle pipeline. Un esempio inventato potrebbe essere il piping cat to echo, che è un comando che accetta solo argomenti, non input standard.
gatto | eco
Ciò farà sì che l'eco stampi qualsiasi cosa tu digiti su una riga non appena colpisci CTRL+D.
xargs è più comunemente usato con il comando find, con il comando trova utilizzato per elencare file e xargs utilizzato per elaborare l'elenco di file in qualche modo.
La sintassi del comando trova è abbastanza complicata, quindi perché inserire un altro comando? Se usi trova "-exec" opzione, avvierà un nuovo processo ogni volta che cerca in un file nella directory. L'uso di xargs è più efficiente.
Potresti voler eliminare i file in una directory precedente a una determinata data, ad esempio 90 giorni. Per fare ciò, utilizzeresti questa pipeline:
trovare. -mtime +90 -print | xargs rm
xargs aiuta i comandi di Linux a elaborare correttamente l'input
Con xargs, ora puoi assicurarti che i comandi prendano gli argomenti nel modo in cui ti aspetti. In combinazione con trova, ti consentirà di elaborare rapidamente i file sul tuo computer.
La capacità di reindirizzare input e output nella shell è uno dei punti di forza duraturi di Linux come conseguenza della filosofia Unix. Se vuoi saperne di più su come funziona il reindirizzamento input/output di Linux, continua a leggere.
Migliora il flusso di lavoro della riga di comando di Linux collegando più comandi insieme utilizzando I/O standard.
Leggi Avanti
- Linux
- Comandi Linux
- Linux Bash Shell
David è uno scrittore freelance con sede nel Pacifico nord-occidentale, ma originario della Bay Area. Fin dall'infanzia è un appassionato di tecnologia. Gli interessi di David includono la lettura, la visione di programmi TV e film di qualità, i giochi retrò e la raccolta di dischi.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Clicca qui per iscriverti