GNU/Linux >> Linux Esercitazione >  >> Linux

xargs sostituzione di più di un argomento

Non conosco un xargs opzione che lo farà, ma puoi ottenere qualcosa di simile con un'invocazione di bash -c :

$ echo -e "line 1\nline    2\nline 3" | xargs bash -c 'echo "${@}" DONE' _
line 1 line 2 line 3 DONE

Nota che xargs non fornisce le linee come argomenti, anche se specifichi -L . Potresti voler usare -d per specificare che la nuova riga separa gli elementi (solo gnu xargs, credo). Confronta quanto segue:

$ echo -e "line 1\nline    2\nline 3" |
  xargs bash -c 'printf "<%s>\n" "${@}" DONE' _
<line>
<1>
<line>
<2>
<line>
<3>
<DONE>

$ echo -e "line 1\nline    2\nline 3" |
  xargs -d\\n bash -c 'printf "<%s>\n" "${@}" DONE' _
<line 1>
<line    2>
<line 3>
<DONE>

Converti le nuove righe in \nul terminatori, quindi utilizzare xargs -0

$ echo -ne 'line 1\nline 2\nline 3\n' | tr '\n' '\0' | xargs -0 -Ix echo x DONE
line 1 DONE
line 2 DONE
line 3 DONE

Linux
  1. Eseguire una linea di comandi con un sudo?

  2. Trova -exec + Vs Trova | Xargs:quale scegliere?

  3. Come dividere il terminale in più di una "vista"?

  4. Condizione di una riga Check-in Makefile?

  5. 6 Aspettatevi esempi di argomenti della riga di comando dello script

Come dire a Xargs quale argomento scegliere ??

Zorin OS 15 più bello e utile che mai

Conversione di una bella stampa JSON in una riga

Come grep le righe che hanno più di un numero specifico di caratteri speciali

come inserire una nuova riga se una riga ha più di 60 caratteri

Puoi avere più di un file ~/.ssh/config?