Dans le cadre de mes étude j'ai un exercice avec comme question: grâce au pipe compter le nombre de fichiers et de répertoires contenus dans un répertoire passé en argument.
J'ai testé cette commande :
find -name \* | wc -l
Mais je ne sais pas comment faire pour faire par rapport au répertoire passé en argument.
as-tu parcouru le man de find pour voir comment on s'en sert ?
faut-il obtenir le nombre de fichiers ET le nombre de répertoires, ou le nombre de fichiers et de répertoires ? dans le dernier cas, find est inutile.
NB: les noms de fichiers peuvent contenir des passages à la ligne, que comptera wc le nombre de fichiers sera alors erroné !
EDIT: c'est pour ça aussi qu'on ne parcourt pas la sortie de ls.
pour bien faire, parce qu'IL FAUT utiliser un pipe (c'est l'exercice), il faut séparer les noms de fichiers par le caractère NUL, et de lire la sortie par une boucle utilisant un séparateur NUL...
sinon, ça se fait avec un boucle sur chaque élément du répertoire, et en testant si l'argument est un fichier ou un répertoire...
- Edité par dantonq 4 octobre 2017 à 22:14:53
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
GNU/Linux SysAdmin - un blog sur les lignes de commande GNU/Linux (mikael-flora.fr)
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique
Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique