Objectif: liste des fichiers de tous les pots.
Ceci fonctionne: p> Ceci fonctionne aussi: p> find . -name "*.jar" | xargs jar tvf
3 Réponses :
Cela fonctionne-t-il
Le problème est que La boucle pour exécute les fichiers un par un p> Vous pouvez vérifier cela en plaçant un écho dans votre commande: p> le bon La solution est la solution Xargs d'utiliser un seul paramètre par commande: p> ou p> JAR TVF code> permet seulement un fichier à transmettre.
Merci pour le -I code> indice, sympa.
@Sarnold Vous devez savoir que cet argument ( -i code>) est obsolète. Voir Man Xargs (
Xargs (GNU Windowtils) 4.4.2 Code>):
Cette option est obsolète; Utilisez -Je à la place. Code> Il n'y a aucun problème à l'utiliser en mode interactif, mais je l'éviterais dans des scripts car cela pourrait disparaître dans une version future de Xargs.
Il ne fonctionne pas car Xargs n'invoque qu'un seul processus avec tous les arguments.
Il existe un moyen d'invoquer un nouveau processus pour chaque argument à l'aide de Essayez ceci pour comprendre: P> -i '{}' p >
$ seq 10 | xargs echo
1 2 3 4 5 6 7 8 9 10
$ seq 10 | xargs -I'{}' echo {}
1
2
3
4
5
6
7
8
9
10