J'essaie d'utiliser la commande pour chaque répertoire de l'actuel. Donc, j'essaie d'utiliser le code comme celui-ci:
ls | echo
3 Réponses :
L'utilisation d'un tuyau envoie la sortie ( stdout em>) de la première commande, à stdin em> (entrée) du processus enfant (2e commande). Les commandes que vous avez mentionnées ne prennent aucune entrée sur pour vos applications, c'est là que méfiez-vous par défaut stdin code>. Cela fonctionnerait, par exemple, avec
chat code> (et par travail, je veux dire travailler comme
chat code> sans argument, et simplement passer le long de l'entrée que vous le donnez): < Pré> xxx pré>
xargs code> est entré. Il prend une entrée de canalisation et le donne comme des arguments à la commande spécifiée. Donc, vous pouvez le faire fonctionner comme: p>
xargs code> brisera son entrée sur des espaces, donc si vos noms de fichiers contiennent des espaces ceci ne fonctionnera pas comme vous le souhaitez. Donc, dans ce cas particulier, cela serait préférable: p>
Le * code> est un globe générique (ou une carte générique que vous le savez peut-être). Le shell remplacera-le avec tous les noms de fichier (ou répertoire, etc.) dans le répertoire actuel qui correspond à celle-ci. Y pourrait aussi, par exemple, dire
*. JPG code> pour correspondre à n'importe quel fichier se terminant par .jpg
$ ls -d */ | xargs du -sb
Utiliser la substitution de commande, comme ceci: