script shell pour comparaison de contenu de fichiers

Le
papillon-bleu24
Bonjour,

J'ai un soucis en scripting shell

J'ai 2 fichiers:
-> fichier1 contient un mot par ligne, c'est un fichier de type dictionnaire.
-> fichier2 est du texte simple, mais qui contient des mots du fichier1.

Le but est de faire un sript shell qui permettrait de
1) créer un fichier fichier3 qui reprendrait le fichier2, mais dont tous les mots qui appartiendraient au fichier1 soient remplacés par '@@@@'.

exemple simple:

fichier1:

azert
zerty
ertyu
rtyui
tyuio


fichier2:

rtyuihfb cdnjkd cdmksf fidshufd jfidphfd azert njvfnvj fcjdklfd fdhuifds uifdshufds rtyui fdgjklfd
yuiopfjdk fenlfhj nfhle fdhjumf ertyu.


du coup, le fichier3 serait:

rtyuihfb cdnjkd cdmksf fidshufd jfidphfd @@@@ njvfnvj fcjdklfd fdhuifds uifdshufds @@@@ fdgjklfd
yuiopfjdk fenlfhj nfhle fdhjumf @@@@.

voilà. Je suis un peu perdue. Donc si quelqu'un aurait la gentillesse de m'aider, ce serait cool :)

Merci.

Aoitife
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
GuiGui
Le #17690421
papillon-bleu24 a écrit :
Bonjour,



Bonjour,

voilà. Je suis un peu perdue. Donc si quelqu'un aurait la gentillesse de
m'aider, ce serait cool :)



Ça sent le TP, ça ;-)

Deux conseils :
1) man awk ou man sed

2) boucler sur `cat fichier1`
Nicolas George
Le #17691201
GuiGui wrote in message
Ça sent le TP, ça ;-)



En effet.

2) boucler sur `cat fichier1`



Il vaudrait mieux créer une table en mémoire (avec awk ou perl), ce serait
infiniment plus efficace.
Jonathan ROTH
Le #17692061
Nicolas George a écrit :
Il vaudrait mieux créer une table en mémoire (avec awk ou perl), ce serait
infiniment plus efficace.



Ou avec le shell, l'éxercice étant de créer un script shell ;)

Après, on peut coder en C et mettre le compilat dans un script, mais je
doute que ce soit ce qui est demandé.

Bon pour l'exercice je propose deux process sed, aucun tableau, aucune
variable, qui dit mieux ?
Publicité
Poster une réponse
Anonyme