Bonsoir,

que je vous explique mon problème. J'ai un fichier.txt qui me sert de bdd avec une structure du type:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Nomfichier1.txt empreintemd5 chemind'acces
vide occurencedumot ligneouilapparait
avion occurencedumot ligneouilapparait
pouli occurencedumot ligneouilapparait
Nomfichier2.txt empreintemd5 chemind'acces
avion occurencedumot ligneouilapparait
marque occurencedumot ligneouilapparait
Nomfichier3.txt empreintemd5 chemind'acces
manger occurencedumot ligneouilapparait
pour occurencedumot ligneouilapparait
car occurencedumot ligneouilapparait
Comme on peut le voir cette bdd est composée d'un fichier ou plusieurs et y affiche les mots le composant (il y a un seul mot par ligne dans les fichier.txt). Pour chaque mot elle marque aussi le nombre fois qu'il apparaît dans le fichier et les lignes où il apparaît. Cette bdd est créée avant avec un autre script qui fait l'arborescence d'un répertoire, récupère chaque fichier et met tout dans la bdd. J'arrive donc à mon deuxième script

Lorsque que je lance mon script je mets en paramètre un mot que je souhaite rechercher.
Je dois afficher le nomfichier, l'adresse du fichier, le mot, son nombre d'occurrence, les lignes où il apparaît.
On aurait donc si je tape ./projet.bash avion le résultat suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Nomfichier1.txt  chemind'acces
avion 1fois ligne2
Nomfichier2.txt  chemind'acces
avion 2fois ligne4ligne6
Je dois me servir uniquement de la bdd. Elle est créée justement avant pour faire ça.
Et à vrai dire je n'ai aucune idée de comment faire. Je vois comment récupérer les lignes où il y a le mot avion (grep "\.txt"$ bdd.txt), récupérer le paramètre et le mettre dans une variable(motrecherche=$2), récupérer les lignes où il y a le mot (grep $motrecherche bdd.txt). Mais en faisant ça j'ai un affichage de tous les fichiers txt de la base de donnée et de tous les mots avion(comme dans l'exemple). Merci de votre aide