Bonjour,
Je souhaiterais connaîre une commande qui me permette de récupérer la taille d'un répertoire et une commande de test permettant de tester si cette valeur vaut 0 ou non.
Est ce quelqu'un aurait quelques éléments de réponses?
merci





Bonjour,
Je souhaiterais connaîre une commande qui me permette de récupérer la taille d'un répertoire et une commande de test permettant de tester si cette valeur vaut 0 ou non.
Est ce quelqu'un aurait quelques éléments de réponses?
merci
bonjour,
developpez.net ne fourni pas encore de boule de cristal. est-ce que tu pourrais nous en dire un peu plus ? quel est le langage utilisé ? c'est une commande bash que tu cherches ? si oui : man du et pour la condition paragraphe "Exécution conditionnelle"
on ne peut pas t'aider correctement si tu ne poses pas de question détaillée![]()





je cherche cette commande pour l'ajouter à un script unix en bash oui
je peux peut etre trouver la fonction dans le lien que tu as mis dans ton message.
Merci
Envoyé par fillotte
Sur un rep vide ca me donne 4k par défaut
Code : Sélectionner tout - Visualiser dans une fenêtre à part du -hs test 2>/dev/null
ça marche pas tout à fait comme ça. créé un répertoire test et fais untu es d'accord que le répertoire est non vide. et ça va t'afficher 4,0K quand même
Code : Sélectionner tout - Visualiser dans une fenêtre à part touch test/test.txt
sinon, il y a un moyen détournébon c'est moche mais ça marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if [ $(ls mon_rep/|wc|tr -d ' ') = "017" ]; then echo "Vide !"; else echo "pas vide !"; fi
en gros, je fais un ls dans le répertoire à tester. ensuite, je compte les occurrences avec wc. il y a plein d'espaces alors je les enlève avec tr. la chaine de sortie est toujours 017 quand le répertoire est vide donc si la sortie n'est pas 017 alors c'est que le dossier n'est pas vide.
et ça marche même si il y a un fichier vide à l'intérieur du dossier![]()
Petite question, si tu fais un ls -l et que tu compte les lignes après, sa va pas? sa t'evite de translater pour supprimer les espaces
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if [ $(ls -l mon_rep/|wc -l) = "017" ]; then echo "Vide !"; else echo "pas vide !"; fi
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère
Installation de Code::Blocks sous Debian à partir de Nightly Builds
c'est juste ce que tu dis mais j'apporte une correction à ton script. wc -l compte le nombre de lignes donc ça renvoie 0 et non 017 si c'est vide
ou sinon, on peut faire ceci si on veut utiliser ls -a
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if [ $(ls mon_rep/|wc -l) = 0 ]; then echo "Vide !"; else echo "pas vide !"; fi
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 if [ $(ls -a mon_rep/|wc -l) = 2 ]; then echo "Vide !"; else echo "pas vide !"; fi
Exact pour le nombre de lignes, j'avais oublié de modifié![]()
C'est par l'adresse que vaut le bûcheron, bien plus que par la force. Homère
Installation de Code::Blocks sous Debian à partir de Nightly Builds
voire -AEnvoyé par Michaël
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 ls -A dir | grep . >/dev/null if [ $? -eq 0 ] then echo non-vide else echo vide fi
Avec find ca ne serait pas plus simple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if [ "x`find <DIR>`" == "x<DIR>" ] ; then echo "empty" ; fi
Et :
?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 if [ "`echo DIR/*`" == 'DIR/*' ] ; then echo "empty" ; fi
--
Jedaï
Partager