Jannah Theme License is not validated, Go to the theme options page to validate the license, You need a single license for each domain name.
Linux

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 souvent utilisée dans les scénarios où un utilisateur recherche un modèle, supprime et renomme des fichiers, etc. Ici, nous vous montrons comment utiliser la commande xargs à votre avantage.

Contenu

Qu’est-ce que xargs ?

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

Pour que xargs exécute la commande ls sur mon dossier Documents, j’exécuterais la commande suivante :

Le personnage de la pipe | canalise tout ce qui précède en tant que STDIN pour xargs.

Vous pouvez voir que xargs lit mon dossier Documents sans problème. Ceci n’est qu’un exemple des capacités de la commande xargs.

Bien que la commande xargs puisse être utilisée dans diverses opérations de ligne de commande, elle est très pratique lorsqu’elle est utilisée avec la commande find. Dans cet article, nous discutons de 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, la commande xargs, ainsi que la commande find, simplifient les choses. J’ai quelques répertoires de test. L’un contient « 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 des autres répertoires, j’exécuterais la commande suivante :

Xargs Trouver 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 deuxième partie, xargs -n1 cp test.txt, récupérera la sortie de la première commande (les noms de fichiers résultants) et la transmettra à la commande cp (copie) une par une. Notez que l’option -n est cruciale ici, car elle indique à xargs d’utiliser un argument par exécution.

Lorsqu’elles sont combinées, 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 de 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, la commande rm échouait parfois avec une erreur « Liste d’arguments trop longue ». 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 PDF et que vous obtenez une erreur en essayant de les supprimer.

Xargs PDF

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

Psssssst :  Vous avez demandé : Linux utilise-t-il Ascii ?
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 vouloir jeter un coup d’œil rapide aux fichiers de projet qui modifient une variable particulière, ou un administrateur système peut vouloir voir les fichiers qui utilisent un paramètre de configuration système particulier. Dans ces scénarios, xargs, ainsi que find et grep, vous facilitent la tâche.

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 Couper/Copier

Xargs, avec la commande find, peut également être utilisé 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 :

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

Comment dire à xargs quand arrêter

Supposons que vous vouliez 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 : la commande xargs exécutera la commande ls même si la commande find ne trouve aucun fichier .txt. Ce qui suit est un exemple.

Xargs Trouver Txt Pngs

Vous pouvez donc voir qu’il n’y a pas de fichiers .txt dans le répertoire, mais cela n’a pas empêché xargs d’exécuter la commande ls. Pour modifier ce comportement, utilisez l’option de ligne de commande -r :

Conclusion

Bien que je me sois concentré ici sur l’utilisation de 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.

Psssssst :  Comment corriger l'erreur "Pas d'espace laissé sur le périphérique" sur Linux

Si vous avez apprécié notre article sur l’utilisation de la commande 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 restant sur l’appareil » ou l’accélération d’Ubuntu.

Cet article est-il utile ? Oui Non

Bouton retour en haut de la page

Adblock détecté

Veuillez désactiver votre bloqueur de publicités pour pouvoir visualiser le contenu de la page. Pour un site indépendant avec du contenu gratuit, c’est une question de vie ou de mort d’avoir de la publicité. Merci de votre compréhension! Merci