![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| Comment vérifier si un fichier existe en utilisant la déclaration si | Jazmania | De programmation et de script Shell | 3 | 09-19-2008 01:32 PM |
| vérifier à distance si le fichier existe | hcclnoodles | De programmation et de script Shell | 2 | 08-27-2008 06:53 PM |
| Vérifier si un fichier existe avec certains préfixes | raoscb | De programmation et de script Shell | 11 | 08-20-2008 09:13 AM |
| vérifier s'il existe un fichier. ZIP et décompresser des fichiers à l'aide de ftp | DebianJ | De programmation et de script Shell | 1 | 05-05-2005 05:46 PM |
| perl ftp vérifier le fichier existe | methos | De programmation et de script Shell | 2 | 06-18-2003 09:21 AM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
Vérifiez le fichier existe à partir d'un script shell
Salut, J'ai une liste de fichiers que je veux vérifier si elles existent et compter combien de ces fichiers existent, je tiens aussi à faire de même pour les fichiers qui arent trouvé. J'ai fait cela en créant des fichiers temp voir ci-dessous mais que vous voulez le faire en utilisant ot variables à la place: Code:
for FILE in $FILELIST do ls -l $OKAYDIR/$FILE >>countload.txt 2>/dev/null done LOADCOUNT=`cat countload.txt|wc -l` cat countload.txt >>results.txt echo >>results.txt echo "$LOADCOUNT files loaded">>results.txt Merci. |
|
||||
|
Je ferais quelque chose comme ceci (en ksh): -- Code:
foundc=0
nfoundc=0
for file in $FILELIST
do
if [[ -s "${file}" ]];then
# file is found and is > 0 bytes.
foundc=$(( found + 1 ))
...do something else you want...
else
# file is not found or is 0 bytes
nfoundc=$(( nfounc + 1 ))
...do something else you want...
fi
done
print "number of files in [$FILELIST] found = [${foundc}]\n"
print "number of files in [$FILELIST] NOT found = [${nfoundc}]\n"
Vous pouvez changer le critère de-s-r (le fichier est readble)-e (le fichier existe)-d (fichier est le répertoire etc) comme bon vous semble. |
|
||||
|
Code:
foundc=0
nfoundc=0
fflist=""
nflist=""
for file in $FILELIST
do
if [[ -s "${file}" ]];then
# file is found and is > 0 bytes.
foundc=$(( found + 1 ))
fflist="${fflist}\n${file}"
...do something else you want...
else
# file is not found or is 0 bytes
nfoundc=$(( nfounc + 1 ))
nflist="${nflist}\n${file}"
...do something else you want...
fi
done
print "List of found files:\n\n${fflist}\n---------"
print "List of NOT found files:\n\n${nflist}\n-----"
print "number of files in [$FILELIST] found = [${foundc}]\n"
print "number of files in [$FILELIST] NOT found = [${nfoundc}]\n"
Je n'ai pas testé donc peut-être au-dessus de quelques bugs. Vous pouvez bien entendu mettre les résultats à un fichier au lieu d'une variable. NOTE: l'accès à la variable la liste des fichiers contenant \ n alors que l'impression, elle devrait mettre à chaque entrée de la nouvelle ligne. |
![]() |
| Bookmarks |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|