Comment utiliser la commande xargs sous Linux 1

Comment utiliser la commande xargs sous Linux

Pour certains des utilisateurs les plus expérimentés, nous cherchons toujours à trouver de nouvelles façons de travailler plus intelligemment et pas plus dur au terminal. xargs est une commande utile qui agit comme un pont entre deux commandes, lisant la sortie de l’une et exécutant l’autre avec les éléments lus. La commande est le plus couramment utilisée dans les scénarios lorsqu’un utilisateur recherche un modèle, supprime et renomme des fichiers, etc. Ici, nous vous montrons comment utiliser le xargs commande à votre avantage.

Qu’est-ce que xargs?

Dans sa forme de base, xargs lit les informations à partir de l’entrée standard (ou STDIN) et exécute une ou plusieurs fois une commande avec les éléments lus. Il existe de nombreuses démonstrations simples, mais en voici une qui montre ce que je veux dire.

Pour avoir xargs exécuter le ls commande sur mon dossier Documents, j’exécuterais la commande suivante:

Le caractère de la pipe | est la tuyauterie de tout ce qui précède en tant que STDIN pour xargs.

Tu peux voir ça xargs lit mon dossier Documents sans problème. Ceci n’est qu’un exemple des capacités du xargs commander.

Tandis que le xargs peut être utilisée dans diverses opérations de ligne de commande, elle est très pratique lorsqu’elle est utilisée avec le find commander. Dans cet article, nous discutons quelques exemples utiles pour comprendre comment xargs et find peuvent être utilisés ensemble.

Opérations impliquant plusieurs fichiers

Supposons que vous souhaitiez copier le contenu de «ref.txt» dans tous les fichiers texte présents dans un répertoire. Bien que la tâche puisse autrement vous obliger à exécuter plusieurs commandes, le xargs commande, avec la find commande, le rend simple. J’ai quelques répertoires de test. L’un a «test0.txt», qui contient du texte, et l’autre répertoire contient 10 autres fichiers de test sans texte. Si je voulais prendre le contenu de test0.txt et le copier dans le reste des fichiers texte dans les autres répertoires, j’exécuterais la commande suivante:

Xargs Find Cp

Pour comprendre la commande ci-dessus, divisons-la en deux parties.

La première partie est find ./test-dir1/ -name "*.txt" , qui recherche tous les fichiers .txt présents dans le répertoire «test-dir1». Vous pouvez spécifier n’importe quel répertoire ici.

La seconde partie, xargs -n1 cp test.txt, récupérera la sortie de la première commande (les noms de fichiers résultants) et la remettra au cp (copier) une par une. Notez que le -n L’option est cruciale ici, comme elle l’indique xargs pour utiliser un argument par exécution.

Lorsqu’elle est combinée, la commande complète copiera le contenu de «test0.txt» dans tous les fichiers .txt du répertoire.

Preuve Xargs Cp

Opérations impliquant un grand nombre d’arguments

L’un des principaux avantages de l’utilisation xargs est sa capacité à gérer un grand nombre d’arguments. Par exemple, lors de la suppression d’un grand nombre de fichiers en une seule fois, le rm la commande échouait parfois avec un « Liste d’arguments trop longue » Erreur. C’est parce qu’il ne pouvait pas simplement gérer une si longue liste d’arguments. C’est généralement le cas lorsque vous avez trop de fichiers dans le dossier que vous souhaitez supprimer.

Disons que vous avez 75 fichiers PDF et que vous obtenez une erreur en essayant de les supprimer.

Xargs Pdfs

Cela peut être facilement corrigé avec xargs. Pour supprimer tous ces fichiers, utilisez la commande suivante:

Xargs Rm F

Opérations impliquant la recherche de modèles

Les développeurs de logiciels ainsi que les administrateurs système effectuent de nombreuses recherches de modèles tout en travaillant sur la ligne de commande. Par exemple, un développeur peut souhaiter jeter un coup d’œil rapide aux fichiers de projet qui modifient une variable particulière, ou un administrateur système peut souhaiter voir les fichiers qui utilisent un paramètre de configuration système particulier. Dans ces scénarios, xargs, de même que find et grep, vous facilite les choses.

Par exemple, pour rechercher tous les fichiers «.txt» contenant la chaîne «maketecheasier», exécutez la commande suivante:

Voici la sortie de la commande produite sur mon système.

Xargs Grep Mte

Opérations de coupe / copie

Xargs, avec le find , peut également être utilisée pour copier ou déplacer un ensemble de fichiers d’un répertoire à un autre. Par exemple, pour déplacer tous les fichiers texte datant de plus de 10 minutes du répertoire actuel vers le répertoire précédent, utilisez la commande suivante:

le -I L’option de ligne de commande est utilisée par le xargs commande pour définir une chaîne de remplacement qui est remplacée par des noms lus à partir de la sortie du find commander. Ici, la chaîne de remplacement est {}, mais ça pourrait être n’importe quoi. Par exemple, vous pouvez utiliser «fichier» comme chaîne de remplacement.

Comment dire à xargs quand arrêter

Supposons que vous souhaitiez lister les détails de tous les fichiers .txt présents dans le répertoire courant. Comme déjà expliqué, cela peut être facilement fait en utilisant la commande suivante:

Mais il y a un problème: le xargs commande exécutera le ls commande même si le find La commande ne parvient pas à trouver un fichier .txt. Ce qui suit est un exemple.

Xargs Trouver des Pngs Txt

Vous pouvez donc voir qu’il n’y a pas de fichiers .txt dans le répertoire, mais cela ne s’est pas arrêté xargs d’exécuter le ls commander. Pour modifier ce comportement, utilisez le -r option de ligne de commande:

Conclusion

Bien que je me sois concentré ici sur l’utilisation xargs avec find, il peut également être utilisé avec de nombreuses autres commandes. Si vous avez plusieurs commandes complexes à exécuter, xargs est un outil très utile.

Si vous avez apprécié notre article sur l’utilisation du xargs sous Linux, assurez-vous de consulter certains de nos autres contenus Linux, comme nos guides sur la correction de l’erreur «pas d’espace laissé sur l’appareil» ou sur l’accélération d’Ubuntu.

Soutenez notre effort ❤️

Si vous avez apprécié cet article, pensez à laisser un pourboire pour nous aider à continuer à publier du contenu de qualité.

Paiement sécurisé sur PayPal
Moyens I/O Staff est une équipe de rédacteurs spécialisés, passionnés par la technologie, l’innovation et les usages numériques. Forts d’une expertise pointue en IA, applications mobiles, gaming et tendances digitales, nous produisons un contenu rigoureux, vérifié et utile. Notre mission : vous offrir une information fiable et claire pour mieux naviguer dans le monde numérique en constante évolution. Découvrez les avis de nos lecteurs sur Trustpilot.