A voir également:
- Contenu d'un répertoire
- Word a trouvé du contenu illisible - Guide
- Le fichier à télécharger correspond au contenu brut d’un courrier électronique. de quel pays a été envoyé ce message ? - Guide
- Contenu mms ✓ - Forum Vos droits sur internet
- Contenu multimedia messenger disparu - Forum Facebook Messenger
- Répertoire téléphonique gratuit - Télécharger - Bureautique
6 réponses
jisisv
Messages postés
3645
Date d'inscription
dimanche 18 mars 2001
Statut
Modérateur
Dernière intervention
15 janvier 2017
934
27 avril 2015 à 17:57
27 avril 2015 à 17:57
Que désires-tu faire exactement?
je vais écrire un script qui calcule le nombre d'éléments d'un répertoire
ls $1 > list
echo " le nombre d'éléments du répertoire" $1 "est " `wc -l list `
il m'a affiché le nombre d'éléments du répertoire est 2 list
don j'ai réussi à compter les éléments du répertoire mais je veux pas que le mot list figure
ls $1 > list
echo " le nombre d'éléments du répertoire" $1 "est " `wc -l list `
il m'a affiché le nombre d'éléments du répertoire est 2 list
don j'ai réussi à compter les éléments du répertoire mais je veux pas que le mot list figure
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
27 avril 2015 à 18:14
27 avril 2015 à 18:14
Salut,
mais je veux pas que le mot list figure
wc -l <list
merci beaucoup
j'ai une autre question , maintenant je veux parcourir le fichier list et je compte le nombre des fichiers ordinaires
j'ai écrit
a=0
for i in `echo $list`
do
if [ -f $i ]
then
a=a+1
fi
echo " le nombre des fichiers ordinaires est " $a
done
aucune résultat n'est affichée
j'ai besoin d'aide
j'ai une autre question , maintenant je veux parcourir le fichier list et je compte le nombre des fichiers ordinaires
j'ai écrit
a=0
for i in `echo $list`
do
if [ -f $i ]
then
a=a+1
fi
echo " le nombre des fichiers ordinaires est " $a
done
aucune résultat n'est affichée
j'ai besoin d'aide
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
27 avril 2015 à 18:33
27 avril 2015 à 18:33
a=0 while read i do if [ -f "${i}" ] then ((a++)) fi done < list echo "Nombre de fichier : ${a}"
merci ça marche mais j'ai pas compris la boucle while !!
qunad on écrit done < list c'est que notre boucle parcoure list ??????????
qunad on écrit done < list c'est que notre boucle parcoure list ??????????
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
27 avril 2015 à 19:00
27 avril 2015 à 19:00
qunad on écrit done < list c'est que notre boucle parcoure list ?Oui, et qui plus est ligne par ligne sans se soucier s'il y a des espaces, chose que ne fait pas la boucle "for" (du moins sans avoir modifier la variable $IFS) et qui est source d'erreurs ;-(
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonsoir merci pour votre aide :)
maintenant , j'ai essayé d'afficher récursivement le contenu d'un répertoire ainsi que ses sous répertoires :)
j'ai écrit ce code :
if [ -d $1 ]
then
ls $1 > liste
while read i
do
if [ -d "$i" ]
then
echo "************" $i "*************"
echo `ls $i`
fi
done < liste
else
echo "ce n'est pas un répertoire !! "
fi
pouvez vous corriger ce code ?????
maintenant , j'ai essayé d'afficher récursivement le contenu d'un répertoire ainsi que ses sous répertoires :)
j'ai écrit ce code :
if [ -d $1 ]
then
ls $1 > liste
while read i
do
if [ -d "$i" ]
then
echo "************" $i "*************"
echo `ls $i`
fi
done < liste
else
echo "ce n'est pas un répertoire !! "
fi
pouvez vous corriger ce code ?????
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
28 avril 2015 à 18:00
28 avril 2015 à 18:00
#! /bin/bash #set -xv if [ -d ${1} ] then ls ${1} > liste while read i do if [ -d "${1}/${i}" ] then echo "************ ${i} *************" ls ${1}/${i} fi done < liste else echo "ce n'est pas un répertoire !! " fi
A la ligne 9 (ainsi qu'à la 12) il faut mettre le chemin complet sans quoi le test ne peut pas aboutir (la variable $i ne contient qu'un nom et sans son chemin exact la condition ne peut être évaluée).
A la ligne 12, le echo devant la commande ls est inutile.