Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

script shell pour comparaison de contenu de fichiers

3 réponses
Avatar
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

3 réponses

Avatar
GuiGui
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`
Avatar
Nicolas George
GuiGui wrote in message <49099361$0$28234$:
Ç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.
Avatar
Jonathan ROTH
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 ?