Maison  >  Article  >  Commande xargs et exemples sous Linux

Commande xargs et exemples sous Linux

不言
不言original
2019-03-02 16:08:552720parcourir

xargs est une commande Linux/Unix puissante pour créer et exécuter des lignes de commande à partir d'une entrée standard. Il accepte le résultat d’une commande et le transmet comme argument à une autre commande. xargs prend une entrée standard, séparée par des espaces ou des nouvelles lignes, et exécute la commande une ou plusieurs fois avec des arguments suivis d'éléments. Les lignes vides sur l'entrée standard sont ignorées.

Commande xargs et exemples sous Linux

Exemple

Exemple 1 : Copiez un grand nombre de fichiers dans un autre dossier.

Parfois, nous devons copier une longue liste de fichiers, dans ce cas, la commande cp échoue avec l'erreur "Liste de paramètres trop longue". Nous pouvons utiliser xargs pour accomplir cette tâche.

# find /home/linuxman/public_html/tecadmin.net/ -type f | xargs -n1 -i cp {} /var/www/backup/

Exemple 2 : Supprimer plusieurs fichiers d'un dossier.

Parfois, nous souhaitons supprimer un grand nombre de fichiers d'un dossier. L'exemple suivant supprimera tous les fichiers .log du répertoire /var/log.

# find /var/www/tmp/ -type f | xargs rm -f

La commande ci-dessus ne pourra pas supprimer les fichiers avec des espaces. Pour gérer les espaces dans la commande xargs, la commande suivante est requise.

# find /var/www/tmp/ -type f -print0 | xargs -0 rm -f

Exemple 3 : Comptez le nombre de lignes dans plusieurs fichiers.

L'exemple suivant comptera le nombre de lignes pour chaque fichier .txt dans le répertoire /opt et ses sous-répertoires

# find /opt -name "*.txt" | xargs wc -l

Pour gérer les fichiers avec des espaces dans leurs noms, vous besoin d'utiliser la commande suivante.

# find /opt/ -name "*.log" -print0 | xargs -0 wc -l

Exemple 4 : Sauvegardez tous les fichiers de configuration.

Si vous souhaitez sauvegarder tous les fichiers de configuration (extension .conf) du système, veuillez utiliser la commande suivante.

# find / -name "*.conf" |  xargs tar czf  config.tar.gz
# ls -l config.tar.gz
-rw-r--r--. 1 root root 193310 Apr  1 13:26 config.tar.gz

Exemple 5 : Utilisation d'un délimiteur personnalisé avec xargs.

Nous pouvons également utiliser la commande deleter et xargs personnalisée, par défaut, elle utilise des espaces et des nouvelles lignes comme délimiteurs. Utilisez le paramètre -d pour définir le délimiteur.

# echo "1,2,3,4,5" | xargs -d, echo

Sortie

1 2 3 4 5

Exemple 6 : utilisez xargs pour afficher la sortie dans des lignes séparées.

Dans l'exemple 5, la sortie est affichée sur une seule ligne, on peut également spécifier d'afficher chaque sortie sur une ligne distincte.

# echo "1,2,3,4,5" | xargs -d, -L 1 echo

Sortie

1
2
3
4
5

Exemple 7 : Traitement dans les noms ou chemins de fichiers Vide zone.

Pour gérer les espaces dans les noms, utilisez -print0 avec la commande find, en utilisant -0 avec la commande xargs comme arguments.

#  find /tmp -print0 | xargs -0 -L 1 echo

Cet article est terminé ici Pour un contenu plus passionnant, vous pouvez prêter attention à d'autres didacticiels de colonnes connexes sur le site Web PHP chinois ! ! !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn