Maison >Problème commun >Commande xargs et exemples sous Linux
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.
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!