GNU/Linux >> Linux Esercitazione >  >> Linux

Xargs separati da una nuova riga

Soluzione 1:

GNU xargs (predefinito su Linux; installa findutils da MacPorts su OS X per ottenerlo) supporta -d che ti consente di specificare un delimitatore personalizzato per l'input, quindi puoi fare

ls *foo | xargs -d '\n' -P4 foo 

Soluzione 2:

Qualcosa sulla falsariga di

alias myxargs='perl -p -e "s/\n/\0/;" | xargs -0'
cat nonzerofile | myxargs command

dovrebbe funzionare.

Soluzione 3:

Con Bash, in genere preferisco evitare xargs per qualsiasi cosa meno complicata, a favore dei cicli while-read. Per la tua domanda, while read -ar LINE; do ...; done fa il lavoro (ricorda di usare la sintassi dell'array con LINE, ad esempio, ${LINE[@]} per tutta la linea). Questo non ha bisogno di trucchi:di default read usa solo \n come carattere di terminazione di riga.

Dovrei pubblicare una domanda su SO sui pro e i contro di xargs rispetto ai loop while-read... fatto!

Soluzione 4:

$ echo "1\n2 3\n4 5 6" | xargs -L1 echo  "#"
# 1
# 2 3
# 4 5 6

Linux
  1. Passare più parametri tramite Xargs?

  2. 10 Esempi di comandi Xargs in Linux / UNIX

  3. Esempi di comandi xargs in Linux

  4. xargs:comando non trovato

  5. trova -exec cmd {} + vs | xargs

11 Esempi di comandi Xargs in Linux

Comando Xargs in Linux

Una visione pratica del comando xargs

Qual è il modo di usare Xargs attraverso un tubo?

Esempi di comandi xargs di Linux

aggiungendo la password a .ssh/config