GNU/Linux >> Linux Esercitazione >  >> Linux

xargs:comando non trovato

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.

Se riscontri l'errore seguente durante l'esecuzione del comando xargs:

xargs: command not found

puoi provare a installare il pacchetto seguente secondo la tua scelta di distribuzione:

Distribuzione del sistema operativo Comando
OS X brew install findutils
Debian apt-get install findutils
Ubuntu apt-get install findutils
Alpino apk aggiunge findutils
Arch Linux pacman -S findutils
Kali Linux apt-get install findutils
Fedora dnf install findutils-1
Raspbian apt-get install findutils

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. gestore abbonamenti:comando non trovato

  2. dnf:comando non trovato

  3. bc:comando non trovato

  4. dpkg:comando non trovato

  5. id:comando non trovato

nc:comando non trovato

aws-shell:comando non trovato

tvservice:comando non trovato

lspci:comando non trovato

pstree:comando non trovato

ln:comando non trovato