GNU/Linux >> Linux Esercitazione >  >> Linux

11 Esempi di comandi Xargs in Linux

xargs è un comando in sistema simile a UNIX che legge gli elementi dallo input standard delimitato da spazi (che possono essere protetti con virgolette doppie o singole o una barra rovesciata) o newline, ed esegue il comando (l'impostazione predefinita è /bin/echo) una o più volte con qualsiasi argomento iniziale seguito da elementi letti dallo standard input. Le righe vuote sullo standard input vengono ignorate.

Il comando xargs è molto utile se combinato con altri comandi. Per impostazione predefinita, si aspetta input da STDIN .xargs è fondamentalmente utilizzato per migliorare l'output del comando iniziale e utilizzare l'output per eseguire numerose operazioni .

In questo post discuteremo 11 esempi pratici del comando xargs di Linux

Esempio:1 Utilizzo di base di xargs

Digita xargs , si aspetterà un input da noi, inizia a digitare con invio per la riga successiva e quindi fai un ctrl+d per vedere l'output come di seguito.

[email protected]:~$ xargs
hello
john
this is me ( ctrl+d)
hello john this is me
[email protected]:~$home/Downloads#

Esempio:2 uso di delimitatori in xargs (-d)

Qui specifichiamo un delimitatore usando l'opzione -d , con \n come delimitatore. Fa eco alla stringa sullo schermo quando premiamo ctrl+d

[[email protected] ~]# xargs -d\n
Hi
Welcome here
Now press Ctrl+D
Hi
Welcome here
Now press Ctrl+D

[[email protected] ~]#

Esempio:3 Limitazione dell'output per riga (-n)

Possiamo limitare l'output secondo i requisiti usando l'opzione -n ​​nel comando xargs, ad esempio per visualizzare solo 2 elementi per riga,

[email protected]:~$ echo a1 b2 c3 d4 e45
a1 b2 c3 d4 e5
[email protected]:~$ echo a1 b2 c3 d4 e5 | xargs -n 2
a1 b2
c3 d4
e5
[email protected]:~$

Esempio:4 Abilita prompt utente prima dell'esecuzione (-p)

Utilizzando l'opzione -p nel comando xargs , all'utente verrà richiesto prima dell'esecuzione con y (significa sì) e n (significa no) opzioni.

[email protected]:~$ echo a1 b2 c3 d4 e5 | xargs -p -n 2
/echo a1 b2 ?...y
a1 b2
echo c3 d4 ?...y
c3 d4
echo e5 ?...n
[email protected]:~$ 
[email protected]:~$ echo a1 b2 c3 d4 e5 | xargs -p -n 2
/echo a1 b2 ?...y
a1 b2
echo c3 d4 ?...y
c3 d4
echo e5 ?...y
e5
[email protected]:~$

Esempio:5 Eliminazione di file utilizzando find e xargs

Supponiamo di voler eliminare i file *.txt dalla cartella /tmp, eseguire il comando seguente,

[email protected]:~$ find /tmp  -type f -name '*.txt' | xargs rm

Nota: Si consiglia sempre di utilizzare la combinazione di cui sopra del comando find e xargs per eliminare oltre 1000 file poiché richiede meno tempo e meno risorse del sistema.

Esempio:6 usa Xargs e il comando grep per la ricerca 

possiamo usare il comando grep con xargs per filtrare la ricerca particolare dal risultato del comando find. Un esempio è mostrato di seguito:

[email protected]:~$ find . -name "stamp" | xargs grep "country"
country_name
[email protected]:~$

Esempio:7 Gestire lo spazio nei nomi dei file

xargs può anche gestire gli spazi nei file usando print0 e xargs -0 argomenti per trovare il comando.

[email protected]:~$ find /tmp -name "*.txt" -print0 | xargs -0 ls
/tmp/abcd asd.txt /tmp/asdasd asdasd.txt /tmp/cdef.txt

[email protected]:~$ find /tmp -name "*.txt" -print0 | xargs -0 rm
[email protected]:~$

Esempio:8 Usa xargs con il comando taglia

Per la dimostrazione, creiamo prima un cars.txt con i seguenti contenuti:

[email protected]:~$ cat cars.txt
Hundai,Santro
Honda,Mobilio
Maruti,Ertiga
Skoda,Fabia

Per visualizzare i dati nella prima colonna come mostrato di seguito.

[email protected]:~$ cut -d, -f1 cars.txt | sort | xargs
Honda Hundai Maruti Skoda
[email protected]:~$

Esempio:9 conta il numero di righe in ogni file

[email protected]:~$ ls -1 *.txt | xargs wc -l
4 cars.txt
13 trucks.txt
17 total
[email protected]:~$

Esempio:10 sposta i file in una posizione diversa

[email protected]:~$ pwd
/home/linuxtechi
[email protected]:~$ ls -l *.sh
-rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcde.sh
-rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcd.sh
-rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 fg.sh

[email protected]:~$ sudo find . -name "*.sh" -print0 | xargs -0 -I {} mv {} backup/
[email protected]:~$ ls -ltr backup/
total 0
-rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcd.sh
-rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 abcde.sh
-rw-rw-r-- 1 linuxtechi linuxtechi 0 Sep 15 22:53 fg.sh
[email protected]:~$

Esempio:11 Sostituisci String nel comando Xargs (-i)

Se eseguiamo il comando seguente, verranno creati tre file a, b e c nella directory di lavoro corrente

[email protected]:~$ printf "a\nb\nc\n" | xargs touch

Se desideri creare a.txt, b.txt e c.txt, usa il parametro -i nel comando xargs, sostituirà una stringa 'a ' con a.txt e così via

[email protected]:~$ printf "a\nb\nc\n" | xargs -i touch {}.txt

Questo è tutto da questo articolo, spero che questi esempi di comandi xargs ti siano informativi. Sentiti libero di condividere feedback e commenti.


Linux
  1. 8 Esempi di comandi TR Linux

  2. Esempi di comandi rm in Linux

  3. ps Esempi di comandi in Linux

  4. sa Esempi di comandi in Linux

  5. w Esempi di comandi in Linux

16 Esempi di comandi Echo in Linux

9 Esempi di comandi tee in Linux

9 esempi di comandi diff in Linux

Comando Xargs in Linux

Esempi di comandi xargs di Linux

Esempi di comandi id in Linux