Bonjour,

Voilà je galère avec mon fichier csv que j'ai créer dernièrement.
J'explique la chose, c'est pas bien complexe je penses, mais je dois rater quelque chose.

J'ai un fichier avec un série de chiffre et tab, puis une phrase, de ce style :
Fichier source :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
1000		0	1	0	EID_0050_a0040g_0060_TEST010_X					-1	0	0	0	25	Hello World!?
1001	2538	0	1	0	EID_0100_a0012_0010_TEST010_X					0	-1	1002	0	5	........
1002	2538	0	1	0	EID_0100_a0012_0010_TEST010_X					0	-1	1002	0	5	How are you?
etc etc (6000 lignes)

J'ai extrait le texte pour en faire une trad
fichier csv :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Hello World!?;Bonjour le Monde!?
........;...
How are you?;Comment allez-vous ?
J'aimerai relire mon fichier CSV, de trouver les strings dans mon fichier sources et le remplacer.

J'ai procédé comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
#!/bin/bash
filename=fichiersource.txt
filecsv=fichier.csv
 
while IFS=";" read -r col1 col2
do
    echo "I got:$col1|$col2"
    if [[ $col1 == "END" ]]
    then
    	exit 0
    else	
    sed -i "s:$col1:$col2:g" $filename
	fi
done < $filecsv
Résultat fichier source :

Donc NICE ! >.<

Vous comprenez de suite que j'ai un problème sur les caractères spéciaux, en effet les "...." et autres "*" en début de phrase massacre mon sed et donc massacre mon fichier sources.
C'est que bon, en morse, c'est mon drôle à lire.

Je suis à 2 doigts de finir ma trad ! Je vous serai totalement reconnaissant si vous avez la moindre idée pour palier à ce petit problème (dont j'ai vraiment honte de pas résoudre tout seul )

Merci d'avance et Bonne soirée !

PS : Je prend aussi tout code en Java/Powershell si besoin et si ça marche mieux !