GNU/Linux >> Tutoriels Linux >  >> Linux

11 exemples de commandes Xargs sous Linux

xargs est une commande sous UNIX comme System qui lit les éléments de l'entrée standard, délimité par des blancs (qui peuvent être protégés par des guillemets doubles ou simples ou une barre oblique inverse) ou des retours à la ligne, et exécute la commande (la valeur par défaut est /bin/echo) une ou plusieurs fois avec des arguments initiaux suivis d'éléments lus à partir de l'entrée standard. Les lignes vides sur l'entrée standard sont ignorées.

La commande xargs est très pratique lorsqu'elle est combinée avec d'autres commandes. Par défaut, il attend une entrée de STDIN .xargs est essentiellement utilisé pour améliorer la sortie de la commande initiale et utiliser la sortie pour effectuer de nombreuses opérations .

Dans cet article, nous discuterons de 11 exemples pratiques de la commande linux xargs

Exemple : 1 Utilisation de base de xargs

Tapez xargs , il attendra une entrée de notre part, commencez à taper avec enter pour la ligne suivante, puis faites un ctrl+d pour voir la sortie ci-dessous.

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

Exemple : 2 Utilisation de délimiteurs dans xargs (-d)

Ici, nous spécifions un délimiteur en utilisant l'option -d , avec \n comme délimiteur. Il renvoie la chaîne à l'écran lorsque nous appuyons sur ctrl+d

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

[[email protected] ~]#

Exemple :3 Limitation de la sortie par ligne (-n)

Nous pouvons limiter la sortie selon les besoins en utilisant l'option -n dans la commande xargs, par exemple pour afficher seulement 2 éléments par ligne,

[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]:~$

Exemple : 4 Activer l'invite de l'utilisateur avant l'exécution (-p)

Utilisation de l'option -p dans la commande xargs, l'utilisateur sera invité avant l'exécution avec y (signifie oui) et n (signifie pas) d'options.

[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]:~$

Exemple : 5 Suppression de fichiers à l'aide de find et xargs

Supposons que nous voulions supprimer les fichiers *.txt du dossier /tmp, exécutez la commande suivante,

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

Remarque : Il est toujours recommandé d'utiliser la combinaison ci-dessus de la commande find et xargs pour supprimer plus de 1000 fichiers car cela prend moins de temps et moins de ressources système.

Exemple : 6 Utiliser Xargs et la commande grep pour la recherche 

nous pouvons utiliser la commande grep avec xargs pour filtrer la recherche particulière à partir du résultat de la commande find. Un exemple est illustré ci-dessous :

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

Exemple :7 Gérer l'espace dans les noms de fichiers

xargs peut également gérer les espaces dans les fichiers en utilisant print0 et xargs -0 arguments pour trouver la commande.

[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]:~$

Exemple :8 Utiliser xargs avec la commande cut

Pour la démonstration, créons d'abord un cars.txt avec le contenu ci-dessous :

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

Pour afficher les données dans la première colonne comme indiqué ci-dessous.

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

Exemple :9 Compter le nombre de lignes dans chaque fichier

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

Exemple :10 Déplacer des fichiers vers un autre emplacement

[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]:~$

Exemple : 11 Remplacer la chaîne dans la commande Xargs (-i)

Si nous exécutons la commande ci-dessous, elle créera trois fichiers a, b et c dans le répertoire de travail actuel

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

Si vous souhaitez créer a.txt, b.txt et c.txt, utilisez le paramètre -i dans la commande xargs, il remplacera une chaîne 'a ' avec a.txt et ainsi de suite

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

C'est tout de cet article, j'espère que ces exemples de commande xargs vous seront instructifs. N'hésitez pas à partager vos retours et commentaires.


Linux
  1. 7 Exemples de commandes Linux df

  2. 8 Exemples de commandes Linux TR

  3. Exemples de commande rm sous Linux

  4. Exemples de commandes ps sous Linux

  5. w Exemples de commandes sous Linux

16 exemples de commandes Echo sous Linux

9 exemples de commandes tee sous Linux

9 exemples de commande diff sous Linux

Commande Xargs sous Linux

Exemples de commandes Linux xargs

Exemples de commandes id sous Linux