GNU/Linux >> Linux Esercitazione >  >> Linux

Come usare il comando xargs in Linux?

Il comando xargs ci consente di passare l'output di un comando come input per un altro comando senza dover scrivere l'output in un file.

Alcune attività che potrebbero richiedere l'uso di più comandi che incrociano gli output di altri comandi saranno di grande aiuto con l'uso di xargs. Diamo un'occhiata alla comprensione del comando e di alcuni usi del comando oggi.

Cos'è xargs?

Xargs ti consente di passare output come input a un altro comando. Mentre un comando come grep consente all'utente di utilizzare gli input come parametri, xargs mostra la sua importanza consentendo all'input di essere sotto forma di argomenti.

Questo comando viene quasi sempre utilizzato in combinazione con altri comandi con l'aiuto del piping. Comprendiamo l'utilizzo di base del comando.

Nozioni di base sul comando xargs in Linux

Il modo migliore per comprendere qualsiasi comando è comprenderne la sintassi. Ecco come appare la sintassi per il comando xargs in Linux.

xargs [option] [command]

Qui, il [comando] può essere qualsiasi comando che desideriamo eseguire sul nostro input standard. Se non specifichiamo i comandi, l'utilità xargs utilizza il comando predefinito.

Il comando predefinito per l'utilità xargs è 'echo'.

L'utilità xargs consente a diverse opzioni di determinare come vengono creati ed eseguiti i comandi. Ecco un elenco di alcune delle opzioni comunemente usate offerte dall'utilità xargs in Linux.

Opzione Effetto
-0 Questa opzione viene utilizzata per specificare all'utilità xargs che gli elementi nella stringa di input standard vengono terminati utilizzando un carattere NULL anziché uno spazio bianco.
-a nomefile Leggi da file
-r Non eseguire se l'input è vuoto
-d delim Specifica un delimitatore
-x Esci se la dimensione di input specificata da -s viene superato.
-Sostituisco-str Questo è usato per dichiarare una stringa come replace-str. Quindi tutte le occorrenze di replace-str vengono scambiate dal parametro o dall'argomento dello standard input.
–aiuto Questa opzione viene utilizzata per visualizzare il messaggio di aiuto per l'utilità xargs. Ciò include tutte le possibili opzioni che possono essere utilizzate con l'utilità xargs.

Mentre questo elenco copriva le opzioni di base utilizzate nell'utilità xargs. Non dimenticare di esplorare la pagina man di xargs.

Utilizzo del comando xargs

Ora abbiamo sviluppato una comprensione del comando xargs in Linux e dei suoi parametri. È ora di utilizzare questa conoscenza per l'applicazione dell'utilità xargs. Per questo tutorial, esamineremo alcuni esempi per imparare a utilizzare l'utilità xargs.

Il comportamento predefinito di xargs

Come accennato in precedenza, il comando xargs eseguirà il comando echo per impostazione predefinita per gli argomenti di input se non viene specificato alcun comando dopo di esso.

Vediamolo in azione per verificare la nostra affermazione.

ls -ls | xargs

Come puoi vedere nello screenshot sopra, l'output per il comando ls viene stampato senza interruzioni di riga e formattazione quando viene passato attraverso il comando echo e xargs.

Crea più directory utilizzando un file con un elenco di nomi

Se hai l'elenco dei nomi in una singola riga, puoi copiare e incollare i nomi delle directory separati da spazi e il comando mkdir creerà le directory.

Ma cosa succede se abbiamo un file con l'elenco di tutti i nomi delle directory che vogliamo creare? Vediamo come creare più directory da un elenco di nomi di directory.

cat <filename> | xargs mkdir

Come puoi vedere nello screenshot sopra, abbiamo provato a reindirizzare direttamente l'output del comando cat a mkdir e non ci siamo riusciti. Ma con l'aggiunta di xargs, siamo stati in grado di eseguire il comando e creare con successo le directory.

Trova file contenenti una stringa specifica

Grep può cercare stringhe all'interno di file o messaggi di output. Ma non può cercare i file. Il comando trova può cercare i file, ma non il contenuto all'interno. Il comando xargs può aiutare a connettere entrambi insieme.

find <search directory> -name "<name>" | xargs grep -E 'fatal|Warning'

Abbiamo cercato il file "syslog" nella directory /var/log e abbiamo cercato le righe contenenti le parole "fatale" o "Avviso". Poiché conoscevamo il file che volevamo in questo caso, avremmo potuto passarlo direttamente a grep. Ma se non conoscessimo il percorso del file, il comando find può essere utilizzato per trovare il file e passare i percorsi a grep.

Elimina i file con estensioni specifiche

Come la creazione e l'identificazione di file e directory, anche l'utilità xargs è utile per eliminare i file dal sistema. Per questo esempio, cancelleremo tutti i file di testo presenti nella nostra directory corrente.

find <path> -name <filename> | xargs rm -rf

Qui, il trovare Il comando cerca prima i file con estensione .txt. Questo output viene quindi inviato a rm comando.

Questo comando prende i file da trova comando e li cancella. L'output dell'esecuzione riuscita di questo comando dovrebbe fornire un output simile a quello indicato di seguito.

Conclusione

Il comando xargs in Linux è un potente strumento per creare ed eseguire comandi utilizzando un input standard tramite la riga di comando. Rende efficiente l'utilizzo della riga di comando consentendo di utilizzare l'output di un comando al posto di un argomento in un altro comando.

Questa utilità della riga di comando è ampiamente utilizzata regolarmente da utenti Linux principianti ed esperti.

Ci auguriamo che questo tutorial sia stato in grado di aiutarti a comprendere il comando xargs in Linux. In questo tutorial abbiamo discusso solo dell'utilizzo di base dell'utilità xargs, quindi assicurati di esplorare il comando da solo.

Se hai commenti, domande o suggerimenti, non esitare a contattarci nei commenti qui sotto.


Linux
  1. Come usare il comando sed di Linux

  2. Come usare il comando Linux grep

  3. Come usare il comando cronologia in Linux

  4. Come usare il comando Su in Linux

  5. Come utilizzare il comando "schermo" in Linux

Come utilizzare il comando Ping di Linux

Come utilizzare il comando Linux Top

Come utilizzare il comando fd sul sistema Linux

Come utilizzare il comando wget in Linux?

Come utilizzare il comando RPM in Linux

Come utilizzare il comando which in Linux