Commande Linux Xargs

Commande Linux Xargs

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.