GNU/Linux >> Linux Esercitazione >  >> Linux

Come dire a Xargs quale argomento scegliere ??

Questa domanda ha già risposte qui :Come posso trovare i file e quindi utilizzare xargs per spostarli?

(5 risposte)
Chiuso 6 anni fa.

Quando xargs reindirizza l'output del primo comando nell'argomento del secondo comando e non è possibile scegliere quale argomento per quale elemento dell'output, allora c'è solo un modo, ad esempio:

ls | xargs file  # there are as many arguments as files in the listing,
                 # but the user does not have too choose himself

ora se c'è bisogno di scelta:

ls | xargs file | grep image | xargs mv.....   # here the user has to 
                                               # deal  with two arguments of mv, first for source second for destination, suppose your destination argument is set already by yourself and you have to put the output into the source argument. 

Come fai a dire a xargs di reindirizzare l'output standard del primo comando nell'argomento di tua scelta del secondo comando?

Risposta accettata:

Puoi usare -I per definire un segnaposto che verrà sostituito con ogni valore degli argomenti forniti a xargs . Ad esempio,

ls -1 | xargs -I '{}' echo '{}'

chiamerà echo una volta per riga da ls l'uscita. Vedrai spesso '{}' usato, presumibilmente perché è lo stesso di find segnaposto.

Nel tuo caso, devi anche pre-elaborare file 's output per estrarre i nomi di file corrispondenti; poiché esiste un grep lì dentro possiamo semplicemente usare awk per fare entrambe le cose e semplificare il file anche l'invocazione:

file * | awk -F: '/image/ { print $1 }' | xargs -I '{}' mv '{}' destination

Se hai GNU mv potresti semplicemente usare -t per passare più file di origine:

file * | awk -F: '/image/ { print $1 }' | xargs mv -t destination

Linux
  1. Come dire a Gnome di rileggere il ~/.profile?

  2. Linux:come identificare quale distribuzione Linux è in esecuzione??

  3. Come dire che sto correndo in un Chroot?

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

  5. Linux – Come scegliere una distribuzione??

Proxmox vs. Hyper-V:come scegliere?

Come utilizzare il comando xargs di Linux

Come installare Devuan(I)

Come scegliere un modello InstantSite.

Come installare Linux passo dopo passo

Come usare il comando xargs in Linux?