Maison > Problème commun > le corps du texte

Commande xargs et exemples sous Linux

不言
Libérer: 2019-03-02 16:08:55
original
2706 Les gens l'ont consulté

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/
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

Sortie

1 2 3 4 5
Copier après la connexion

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
Copier après la connexion

Sortie

1
2
3
4
5
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!