Je dois réaliser un script me permettant de compter le nombre de sous dossiers et de fichiers à l'intérieur d'un même dossier et afficher ensuite leur taille (uniquement pour les fichiers).
Pour ce qui est du comptage des sous-dossiers et fichiers j'y suis parvenu, mais je n'arrive pas a afficher correctement l'espace disque occupé.
Je vais essayer de simplifier pour que ce soit plus clair:
J'ai un dossier "/var/www/http/xxx" contenant un sous répertoire "/var/www/http/xxx/yyy" et plusieurs fichiers:
-test.java
-test.php
-test.mp3
Le sous répertoire "/var/www/http/xxx/yyy" contient lui même :
-test2.php
-test2.mp3
Je recherche uniquement les fichiers n’étant pas .php ou .java.
Je fais donc un find /var/www/http/xxx -type f ! -iname "*.php" -a ! -iname "*.java" qui me renvoie comme résultat :
Ce que je voudrais c'est connaitre l'espace disque utilisé par ces deux fichiers et UNIQUEMENT ces deux fichiers./var/www/http/xxx/test.mp3 /var/www/http/xxx/yyy/test2.mp3
J'ai essayé de décomposer en 2 parties : une première variable contenant les noms des fichiers correspondant à ma recherche (variable1=`find /var/www/http/xxx -type f ! -iname "*.php" -a ! -iname "*.java"`)
Puis un du -bch sur cette précédente variable, cela marche mais uniquement lorsque ma recherche a retourné un résultat, si aucun fichier correspondant à mes critères n'est trouvé, cela exécute un du -bch sur le dossier dans lequel je me trouve (ce qui ne m’intéresse pas du tout).
On m'a parlé de l'option -exec à placer dans la commande find mais je ne trouve cependant pas la bonne syntaxe.
J’espère que vous pourrez m'aider.
Je vous en remercie d'avance.
Partager