Ouverture séquentielle de fichier

dr971 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, je souhaite ouvrir séquentiellement différents fichiers d'un dossier (ex: fichier1.c ; fichier2.for; fichier3.c dans le dossier PROGRAMME ) . Pourriez vous m'indiquer la marche à suivre svp . Merci d'avance.
A voir également:

11 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Sois plus explicite sur ce que tu veux faire exactement.
Ouvrir un fichier séquentiellement c'est vague... en lecture ? en écriture ?
Pour les traiter comment ?
0
dr971 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
ben en fait j'ai mon dossier qui contient les differents fichiers et moi je veux les ouvrir les uns apres les autres afin de verifier qu'ils ne contiennent pas des mots interdits ( en fait je vx savoir ce k'ils contiennent ). merci de t'interesser à mon pb
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Si c'est juste pour tester la présence d'un mot dans un fichier, tu peux utiliser "grep" :
grep 'motif' fichier
Enfin, ce n'est pas la seule façon de faire, mais comme je te l'ai dit, tout dépend de la finalité de ton programme...
0
dr971 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
Je vais essayer d'etre plus precis en fait si je tape la ligne suivante
$ ./test.sh src -o ./data/mon_rapport.xml

L'appel à cette commande aboutira à l'inspection de tout les fichiers
d'extension .for, .c et .h (insensible à la casse, les fichiers .H,.C et
.FOR doivent être étudiés aussi) se trouvant dans le répertoire src/ et ses sous-répertoires. Si la cible indiquée est un fichier source, il se contente d'examiner que ce fichier. Une fois, l'inspection finie, il génère un rapport (mon_rapport.xml) dans le répertoire de données,"data".
Le script doit vérifier l'existence du répertoire cible contenant les sources, et afficher une erreur claire si ce dernier n'existe pas.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
rep="/rep/source/"
if [ -d "$rep" ]
then
cmd ...
else
echo -e "\n********ERROR********" >> ./data/mon_rapport.xml 
echo -e "Le répertoire \"$rep\" n'existe pas !\n" >> ./data/mon_rapport.xml 
fi
0
dr971 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
le script que tu m'as fourni fonctionne bien mais le probleme est que le rapport.xml qu'il genere contient l'existence ou non du dossier dans lequel on veut travailler mais en fait je voudrais qu'il affiche par exemple le contenu de tous les fichiers qui sont dans le dossier dans lequel je veux travailler. Comment puis-je faire? merci
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

dans ton script tu fait un cat sur chaque fichier et tu l'envoie vers rapport.xml
0
dr971 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
oui mais si je fais un cat cela suppose que je connais le nom des fichiers présents dans le dossier (et qu'il restera fixe) mais moi je veux les ouvrir mais je ne sais pas combien il y a de fichiers et je n'ai pas leur nom (je sais k'il y a des fichiers en .c , .for et .h)
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
for i in *.{c,h,for,C,H,FOR}; do cat "$i"; done
;-)
0
dr971 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
 
merci pour ton aide ca fonctionne
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Happy for you ;-)
0