# Recherche et capacité

**URL:** <https://www.debian-fr.org/t/recherche-et-capacite/88679>\
**Category:** Programmation\
**Created:** [Août 18, 2023, 9:35 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679 "2023-08-18T09:35:36Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![mavric](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mavric/32/5276_2.png) [@mavric](https://www.debian-fr.org/u/mavric)\
**Post date:** [Août 18, 2023, 9:35 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/1 "2023-08-18T09:35:36Z")

</div>

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 «&nbsp;du&nbsp;»  
auriez vous une idée SVP?

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Août 18, 2023, 11:36 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/2 "2023-08-18T11:36:39Z")

</div>

Le nom du fichier est stocké comment ?

---

<div class="post-metadata">

**Author:** ![mavric](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mavric/32/5276_2.png) [@mavric](https://www.debian-fr.org/u/mavric)\
**Post date:** [Août 18, 2023, 11:51 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/3 "2023-08-18T11:51:45Z")

</div>

Le nom du fichier txt est stocker sur le serveur

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Août 18, 2023, 11:55 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/4 "2023-08-18T11:55:53Z")

</div>

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 ?

---

<div class="post-metadata">

**Author:** ![mavric](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mavric/32/5276_2.png) [@mavric](https://www.debian-fr.org/u/mavric)\
**Post date:** [Août 18, 2023, 12:04 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/5 "2023-08-18T12:04:48Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Août 18, 2023, 12:06 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/6 "2023-08-18T12:06:57Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![mavric](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mavric/32/5276_2.png) [@mavric](https://www.debian-fr.org/u/mavric)\
**Post date:** [Août 18, 2023, 12:08 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/7 "2023-08-18T12:08:02Z")

</div>

Et cela pourrais donner quoi par exemple?

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Août 18, 2023, 12:11 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/8 "2023-08-18T12:11:33Z")

</div>

C’est un exercice scolaire ? 😉

---

<div class="post-metadata">

**Author:** ![mavric](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mavric/32/5276_2.png) [@mavric](https://www.debian-fr.org/u/mavric)\
**Post date:** [Août 18, 2023, 12:12 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/9 "2023-08-18T12:12:24Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Août 18, 2023, 12:14 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/10 "2023-08-18T12:14:11Z")

</div>

Tu peux poster le fichier txt, par curiosité ?

---

<div class="post-metadata">

**Author:** ![mavric](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mavric/32/5276_2.png) [@mavric](https://www.debian-fr.org/u/mavric)\
**Post date:** [Août 18, 2023, 12:14 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/11 "2023-08-18T12:14:35Z")

</div>

c’est trop confidentiel désoler

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Août 18, 2023, 12:16 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/12 "2023-08-18T12:16:09Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mavric](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mavric/32/5276_2.png) [@mavric](https://www.debian-fr.org/u/mavric)\
**Post date:** [Août 18, 2023, 12:17 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/13 "2023-08-18T12:17:00Z")

</div>

cela ressemble à ça  
TATA  
TOTO  
TITI

---

<div class="post-metadata">

**Author:** ![nicola](https://www.debian-fr.org/user_avatar/www.debian-fr.org/nicola/32/8969_2.png) [@nicola](https://www.debian-fr.org/u/nicola)\
**Post date:** [Août 18, 2023, 12:18 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/14 "2023-08-18T12:18:13Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![mavric](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mavric/32/5276_2.png) [@mavric](https://www.debian-fr.org/u/mavric)\
**Post date:** [Août 18, 2023, 12:20 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/15 "2023-08-18T12:20:24Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![lsam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/lsam/32/12965_2.png) [@lsam](https://www.debian-fr.org/u/lsam)\
**Post date:** [Août 18, 2023, 12:26 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/16 "2023-08-18T12:26:53Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![mavric](https://www.debian-fr.org/user_avatar/www.debian-fr.org/mavric/32/5276_2.png) [@mavric](https://www.debian-fr.org/u/mavric)\
**Post date:** [Août 18, 2023, 12:31 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/17 "2023-08-18T12:31:18Z")

</div>

pour `while read dossier` tu fait appel à une variable?

---

<div class="post-metadata">

**Author:** ![lsam](https://www.debian-fr.org/user_avatar/www.debian-fr.org/lsam/32/12965_2.png) [@lsam](https://www.debian-fr.org/u/lsam)\
**Post date:** [Août 18, 2023, 1:42 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/18 "2023-08-18T13:42:55Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![dindoun](https://www.debian-fr.org/user_avatar/www.debian-fr.org/dindoun/32/4281_2.png) [@dindoun](https://www.debian-fr.org/u/dindoun)\
**Post date:** [Août 19, 2023, 1:51 UTC](https://www.debian-fr.org/t/recherche-et-capacite/88679/19 "2023-08-19T01:51:58Z")

</div>

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`
