Comando xargs di Linux
Il comando xargs è uno strumento da riga di comando utilizzato per leggere i dati dall'input standard e successivamente esegue un comando basato sull'input standard. È uno strumento utile nella gestione dei file, soprattutto se utilizzato con altri comandi come mkdir, grep, rm ecc. In questo tutorial impareremo come utilizzare xargs su Linux.
Sintassi di base
La sintassi di base quando si utilizza il comando xargs è la seguente:
Per passare lo stdout a xargs, utilizziamo un simbolo pipe (|).
Xargs può anche essere utilizzato con diverse opzioni e, in tal caso, adotta la sintassi:
Utilizzo di xargs con il comando find
Il comando Xargs è comunemente usato con il comando trova. Viene utilizzato per cercare file specifici ed eseguire ulteriori elaborazioni su tali file utilizzando xargs. La sintassi per combinare xargs con find è:
Quando si utilizza xargs con find, non include i file che contengono caratteri speciali nei loro nomi. È consigliabile utilizzare l'opzione find -print0 per includere tali file.
Nell'esempio seguente, utilizzeremo il comando find per cercare tutti i file con estensione .txt e poi eliminarli. Elenchiamo innanzitutto utilizzando il comando ls.
Ora invochiamo il comando find e il comando xargs per individuare tutti i file di testo (.txt) ed eliminarli.
Usare xargs con grep
Inoltre, il comando xargs può essere utilizzato con grep per cercare una stringa in un elenco di file specificati. Utilizzare la sintassi seguente:
Nell'esempio seguente, abbiamo prima cercato i file con estensione .txt e poi li abbiamo reindirizzati a xargs, che ha quindi eseguito il comando grep. Possiamo osservare che ha cercato la stringa "campione".
Esegui più comandi con il comando Xargs
Per eseguire più comandi con xargs, utilizzare l'opzione -I. La sintassi utilizzata è:
Diamo un'occhiata all'esempio qui sotto; eseguiremo due comandi; per prima cosa creeremo tre file utilizzando il comando touch e poi li elencheremo utilizzando il comando ls.
Leggi elementi dal file
Xargs viene utilizzato per leggere l'input standard. Per leggere gli elementi in un file, utilizza il comando xargs insieme all'opzione -a.
Visualizza i comandi eseguiti da xargs
Per vedere i comandi eseguiti da xargs nell'output standard, utilizzare l'opzione -t. La sintassi è:
Nell'esempio seguente, nota che xargs ha eseguito il comando touch sulla stringa fornita da un'eco.
Limita l'output per linea
Puoi controllare il numero di argomenti passati al comando xargs in un dato momento. Utilizza l'opzione -n per specificare il numero di argomenti a cui stai limitando xargs.
Nell'esempio seguente, xargs divide la stringa dal comando echo in. in tre parti. Quindi esegue l'eco per ciascuna parte.
Rimuovi gli spazi vuoti nella stringa
xargs può essere utilizzato come strumento per rimuovere gli spazi vuoti da una stringa. Invia la stringa al comando xargs. Utilizzare la sintassi seguente:
Nell'esempio seguente, dopo l'esecuzione di xargs, il comando string viene stampato senza spazi prima e dopo le virgolette doppie
Elenca il numero di righe/parole/caratteri in ciascun file
xargs può essere utilizzato come strumento per visualizzare un elenco con il numero di righe, parole e caratteri nei file. Utilizzare il comando wc ( conteggio parole ) dopo xargs per visualizzare il conteggio di righe, parole e caratteri di file specifici
Nell'esempio seguente, abbiamo utilizzato wc per elencare il numero di caratteri nei file contenenti la stringa "file":
Specificare il delimitatore
Per modificare il delimitatore predefinito, utilizza l'opzione del comando -d seguita da un carattere che desideri utilizzare come nuovo delimitatore. La sintassi è mostrata di seguito:
Nell'immagine seguente, cambiamo il nostro delimitatore * e quindi applichiamo mkdir a ciascun comando.
Copia di file in più directory
Xargs può essere utilizzato per copiare file in diverse directory. Utilizzare la sintassi seguente:
Conclusione
Xargs è una potente utility da riga di comando per l'uso quotidiano. Per informazioni più dettagliate, leggi la pagina man di xargs LINK IPERTESTUALE "http://man7.org/linux/man-pages/man1/xargs.1.html".