Recherche et capacité

Bonjour,
Je dois faire une recherche de dossier sur l’un de mes serveurs à partir d’un fichier txt et de connaitre la capacité du dossier si il existe
J’avoue que je ne sais pas trop comment m’y prendre, la seul chose que je sais c’est que je dois faire une boucle qui vérifie si le dossier existe à partir du fichier txt et si il existe me donner la capacité du dossier avec la commande « du »
auriez vous une idée SVP?

Le nom du fichier est stocké comment ?

Le nom du fichier txt est stocker sur le serveur

Un fichier txt contient du texte, or tu veux la taille d’un répertoire (et non d’un fichier txt).
Le nom du répertoire est dans le fichier ?

En faite, le fichier txt qui se trouve sur le serveur est la liste de différents répertoires que je souhaite connaitre leur taille
le fichier txt est composé d’une liste. Un mot par ligne

Alors cherche du côté de for et de $().

Et cela pourrais donner quoi par exemple?

C’est un exercice scolaire ? :wink:

:wink: non pas du tout mais j’avoue que j’aimerais bien un exemple histoire que je puisse avoir une réflexion dessus :wink:

Tu peux poster le fichier txt, par curiosité ?

c’est trop confidentiel désoler

Heu, vraiment ?
Même pas une ligne ou deux ? Tu peux modifier les noms finaux, si tu veux mais garde quand même le chemin.

cela ressemble à ça
TATA
TOTO
TITI

Rien de confidentiel, donc.
Commence par chercher comment afficher ce fichier dans la ligne de commande.

cela pourrais ressemble un peu à sa ?
for i in $file
do
find -iname $file
du -sh $file
done

Plutôt ça :
while read dossier ; do find . -type d -name $dossier -exec du -sh {} \; ; done < ton_fichier.txt

Remplacer -name par -path si tes lignes de fichier txt sont des chemins vers tes dossiers.

pour while read dossier tu fait appel à une variable?

Chaque ligne de ton_fichier.txt est affectée à la variable dossier par la boucle while. Tu peux remplacer par ce que tu veux, tu n’as pas à la définir.

pour reprendre la syntaxe d’isam tu as ça :
while read dossier ; do if [ -d "$dossier" ];then du -sh "$dossier" ;fi; done < ton_fichier.txt