logo

Commande xargs sous Linux avec exemples

xargs est une commande Unix qui peut être utilisée pour créer et exécuter des commandes à partir d'une entrée standard.

Importance:

Certaines commandes comme grep peuvent accepter des entrées en tant que paramètres, mais certaines commandes acceptent des arguments, c'est un endroit où xargs est entré en scène.



Syntaxe de la commande `xargs` sous Linux

xargs [options] [command]>

Options disponibles dans la commande `xargs` sous Linux

Possibilités

Description

-0

les éléments d'entrée sont terminés par un caractère nul au lieu d'espaces blancs

-un fichier

lire les éléments du fichier au lieu de l'entrée standard

–délimiteur = diviser

les éléments d'entrée sont terminés par un caractère spécial

-E eof-str

définir la fin de la chaîne du fichier sur eof-str

-Je remplace-str

remplacer les occurrences de replace-str dans les arguments initiaux par des noms lus à partir de l'entrée standard

-L lignes max

utilisez au plus max-lines des lignes d'entrée non vides par ligne de commande.

-p

demander à l'utilisateur s'il doit exécuter chaque ligne de commande et lire une ligne à partir du terminal.

-r

Si l'entrée standard ne contient aucun espace non vide, n'exécutez pas la commande

-X

quitter si la taille est dépassée.

-aide

imprimer le résumé des options sur xargs et quitter

-version

imprimer le numéro de version. de xargs et sortie

Exemple :

exemple xargs

Vous trouverez ci-dessous le programme C, qui lit un fichier texte test.txt puis utilise la sortie de ce programme comme entrée pour la commande tactile. contenu du fichier texte test.txt

file1 file2 file3 file4>

C




// C program to read contents of file> #include> // Driver Code> int> main(){> >int> c;> >FILE> *file;> >// open file test.txt> >file =>fopen>('test.txt', 'r');> >if> (file) {> >// read file line-by-line until> >// end of file> >while> ((c =>getc>(file)) != EOF)> >putchar>(c);> >fclose>(file);> >}> >return> 0;> }>

>

>

Sortir :

file1 file2 file3 file4>

Maintenant, utilisez la sortie de ./a.out comme entrée pour la commande tactile

exemple xargs avec touch

Utilisation des commandes avec options :

  xargs --version>

Imprime le numéro de version de la commande xargs, puis quitte.

Sortir :

inconvénients d'Internet
xargs (GNU findutils) 4.7.0-git Copyright (C) 2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.>
  xargs -a test.txt>

Il affichera le contenu du fichier

file1 file2 file3 file4>
  xargs -p -a test.txt>

L'option -p demande une confirmation avant d'exécuter chaque ligne de commande. Il n'exécute la ligne de commande que si la réponse commence par « y » ou « Y ».

# xargs -p -a test.txt echo file1 file2 file3 file4 ?...y file1 file2 file3 file4 # xargs -p -a test.txt echo file1 file2 file3 file4 ?...n>
   xargs -r -a test.txt>

Supposons maintenant que le fichier test.txt soit vide et que la commande ci-dessus soit exécutée, l'option -r garantit que si l'entrée standard est vide, alors la commande n'est pas exécutée, donc la commande ci-dessus ne produira aucune sortie, mais si la commande ci-dessus est exécutée sans l'option -r, cela produira une ligne vide en sortie. Voir l'image ci-dessous à titre d'exemple :

xargs avec l'option -r