GNU/Linux >> Linux Esercitazione >  >> Linux

Passare più parametri tramite Xargs?

Vorrei poter utilizzare xargs per eseguire più parametri in parti diverse di un comando.

Ad esempio, il seguente:

echo {1..8} | xargs -n2 | xargs -I v1 -I v2 echo the number v1 comes before v2

Spero che torni

the number 1 comes before 2
the number 3 comes before 4 

…ecc

Questo è realizzabile? Sospetto che il mio uso multiplo di -I non è corretto.

Risposta accettata:

Credo che tu non possa usare -I quel modo.
Ma puoi ottenere l'effetto / comportamento che desideri dicendo:

echo {1..8} | xargs -n2 sh -c 'echo "the number $1 comes before $2"' sh

Questo, essenzialmente, crea un ad hoc script di shell a una riga,
che xargs viene eseguito tramite sh -c .
I due valori che xargs le analisi dell'input
vengono passate a questo "script".
La shell assegna quindi quei valori a $1 e $2 ,
a cui puoi fare riferimento nello "script".


Linux
  1. Dd:file di input multipli?

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

  3. Implementazione di più pipe in C

  4. Come concatenare più righe di output in una riga?

  5. Trasformare più righe in una riga separata da virgole

Comando Xargs in Linux

Condividi file tra più dispositivi utilizzando Snapdrop tramite browser Web

Esempi di comandi xargs di Linux

Come copiare un file in più directory usando il comando gnu cp

xargs può separare i parametri?

Passaggio dei parametri $_GET al cron job