La commande xargs est un outil de ligne de commande utilisé pour lire les données à partir de l'entrée standard et exécute ultérieurement une commande basée sur l'entrée standard. Il s'agit d'un outil utile dans la gestion des fichiers, en particulier lorsqu'il est utilisé avec d'autres commandes telles que MKDIR, GREP, RM, etc. Dans ce tutoriel, nous allons apprendre à utiliser des xargs sur Linux.
Syntaxe de base
La syntaxe de base lors de l'utilisation de la commande xargs est la suivante:
$ Command1 | xargs Command2
Pour passer le stdout à xargs, nous utilisons un symbole de tuyau (|).
Les xargs peuvent également être utilisés avec plusieurs options, et dans ce cas, il prend la syntaxe:
$ Command1 | xargs [Options] Command2
Utilisation de xargs avec la commande Find
La commande xargs est couramment utilisée avec la commande find. Il est utilisé pour rechercher des fichiers spécifiques et effectuer un traitement ultérieur sur ces fichiers à l'aide de xargs. La syntaxe pour combiner des xargs avec la découverte est:
$ trouver [répertoire] -Name "[search-term]" -Type f | xargs [commande]
Lorsque vous utilisez des xargs avec FIND, il n'inclut pas les fichiers qui contiennent des caractères spéciaux dans leurs noms. Il est conseillé d'utiliser l'option Find -print0 pour inclure ces fichiers.
Dans l'exemple ci-dessous, nous utiliserons la commande find pour rechercher tous les fichiers avec le .Extension txt puis les supprimer. Faisons d'abord la liste en utilisant la commande LS.
$ ls
Maintenant, appelons la commande find et la commande xargs pour localiser tous les fichiers texte (.txt) et supprimez-les.
$ Find / Home / James -Name "*.txt "-Type f -print0 | xargs rm -f
Utilisation de xargs avec grep
De plus, la commande xargs peut être utilisée avec le grep pour rechercher une chaîne dans une liste de fichiers spécifiés. Utilisez la syntaxe ci-dessous:
$ trouver. -Nom 'Search-Term' | xargs grep 'string-to-lis-in-files'
Dans l'exemple ci-dessous, nous avons d'abord recherché des fichiers avec le .Extension txt, puis les a tués vers Xargs, qui a ensuite exécuté la commande grep. Nous pouvons observer qu'il a recherché l'échantillon de chaîne.'
Exécutez plusieurs commandes avec la commande xargs
Pour exécuter plusieurs commandes avec xargs, utilisez l'option -i. La syntaxe utilisée est:
[Command] | xargs -i% sh -c '[Command-1]%; [Command-2]% '
Jetons un coup d'œil à l'exemple ci-dessous; Nous exécuterons deux commandes; Tout d'abord, nous créerons trois fichiers à l'aide de la commande tactile, puis les répertorierons à l'aide de la commande LS.
Lire les éléments du fichier
Xargs est utilisé pour lire l'entrée standard. Pour lire les éléments dans un fichier, utilisez la commande xargs avec l'option -a.
$ xargs -a [nom de fichier]
Afficher les commandes exécutées par xargs
Pour voir les commandes exécutées par Xargs dans la sortie standard, utilisez l'option -T. La syntaxe est:
$ [Command] | xargs -t [commande]
Dans l'exemple ci-dessous, notez que Xargs a exécuté la commande tactile sur la chaîne fournie par un écho.
Limiter la sortie par ligne
Vous pouvez contrôler le nombre d'arguments transmis à la commande xargs à un moment donné. Utilisez l'option -n pour spécifier le nombre d'arguments que vous limitez les xargs.
$ [Command-Providing-Ental] | xargs -n [numéro] [Commande]
Dans l'exemple suivant, Xargs divise la chaîne de la commande echo dans. à trois parties. Il exécute ensuite l'écho pour chaque partie.
Retirez les espaces vides en chaîne
Les xargs peuvent être utilisés comme un outil pour supprimer les espaces vides d'une chaîne. Pipe la chaîne sur la commande xargs. Utilisez la syntaxe ci-dessous:
$ echo "String" | xargs
Dans l'exemple ci-dessous, après l'exécution de xargs, la commande est imprimée sans espace avant et après les doubles guillemets
$ echo "Commande xargs sur Linux" | xargs
Liste le nombre de lignes / mots / caractères dans chaque fichier
Xargs peut être utilisé comme un outil pour afficher une liste avec le nombre de lignes, de mots et de caractères dans les fichiers. Utilisez la commande WC (nombre de mots) après Xargs pour afficher la ligne, les mots et le nombre de caractères de fichiers spécifiques
Fichier $ ls | xargs wc
Dans l'exemple ci-dessous, nous avons utilisé WC pour répertorier le nombre de caractères dans les fichiers portant le «fichier» de chaîne:
Spécifiez le délimiteur
Pour modifier le délimiteur par défaut, utilisez l'option de commande -D suivie d'un caractère que vous souhaitez utiliser comme nouveau délimiteur. La syntaxe est illustrée ci-dessous:
$ [Command-] | xargs -d [new-délimiter] | xargs [commande]
Dans l'image ci-dessous, nous modifions notre délimiteur * puis appliquons MKDIR à chaque commande.
Copie de fichiers dans plusieurs répertoires
Xargs peut être utilisé pour copier des fichiers dans plusieurs répertoires. Utilisez la syntaxe ci-dessous:
$ echo [Directory1] [Directory2] | xargs -n 1 cp -v [fichier]
Conclusion
Xargs est un puissant utilitaire de ligne de commande pour un usage quotidien. Pour des informations plus détaillées, lisez l'hyperlien «http: // man7.org / linux / man-pages / man1 / xargs.1.page html ”xargs man.