GNU/Linux >> Linux Esercitazione >  >> Linux

Esempi di comandi xargs in Linux

Il comando xargs legge dallo standard input ed esegue un comando per ogni argomento fornito. Ogni argomento deve essere separato da spazi vuoti. L'operatore pipe viene utilizzato per rendere l'output del primo comando l'input per il secondo comando. Il comando xargs viene comunemente utilizzato con il comando find per operare su ogni risultato trovato all'interno della ricerca di file o directory.

Sintassi

La sintassi generale del comando xargs è:

# command [options] [arguments] | xargs [options] {command}

Supponiamo che tu voglia eliminare tutti i file nella directory /foo che hanno un'estensione .pdf. Puoi usare xargs per automatizzare il processo:

# find /foo -type f -name "*.pdf" | xargs rm

Il comando trova cerca tutti i file in /foo che hanno un'estensione .pdf, quindi invia il risultato al comando xargs. Poiché i risultati sono delimitati da uno spazio, il comando xargs eseguirà il comando rm per ogni file nei risultati, rimuovendo tutti i file PDF nella directory.

Il comando xargs ha varie opzioni come mostrato di seguito:

Opzione Descrizione
-I {stringa di sostituzione} Considera ogni riga nello standard input come un singolo argomento.
-L {numero di righe} Legge un numero specificato di righe dallo standard input e le concatena in una lunga stringa.
-p Avvisa l'utente prima di ogni comando.
-n {numero di argomenti} Leggi il numero massimo di argomenti dallo standard input e inseriscili alla fine del modello di comando.
-E {fine della stringa} Rappresenta la fine dello standard input.
-t Scrivere ogni comando nell'output di errore standard prima di eseguire il comando.
-s {dimensione massima} Imposta la dimensione massima consentita di un elenco di argomenti su un numero di caratteri specificato.

Esempi di comandi xargs

1. Eseguire un comando utilizzando i dati di input come argomenti:

# arguments_source | xargs command

2. Eseguire più comandi concatenati sui dati di input:

# arguments_source | xargs sh -c "command1 && command2 | command3"

3. Elimina tutti i file con estensione `.backup` (`-print0` usa un carattere nullo per dividere i nomi dei file e `-0` lo usa come delimitatore):

# find . -name '*.backup' -print0 | xargs -0 rm -v

4. Eseguire il comando una volta per ogni riga di input, sostituendo eventuali occorrenze del segnaposto (qui contrassegnato come `_`) con la riga di input:

# arguments_source | xargs -I _ command _ optional_extra_arguments

5. Esecuzione parallela di un massimo di processi `max-procs` alla volta; il valore predefinito è 1. Se `max-procs` è 0, xargs eseguirà il maggior numero possibile di processi alla volta:

# arguments_source | xargs -P max-procs command


Linux
  1. sa Esempi di comandi in Linux

  2. w Esempi di comandi in Linux

  3. ac Esempi di comandi in Linux

  4. Esempi di comandi df in Linux

  5. du Esempi di comandi in Linux

16 Esempi di comandi Echo in Linux

9 Esempi di comandi tee in Linux

9 esempi di comandi diff in Linux

Comando Xargs in Linux

Esempi di comandi xargs di Linux

Esempi di comandi id in Linux