Bonjour à tous,

j'aimerai traiter un fichier qui s'écrit de la manière suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
champA='  commentaire  '        --> ligne 1
champB='  commentaire  '        --> ligne 2
etc ...
le but serait en fait de rajouter une quote ' devant chaque quote présente dans le commentaire.

Ce traitement devant être fait pour chaque ligne, j'avais pensé à utiliser SED de la manière suivante :

sed '/champ/ s/\'/\'\'/g' fichier.txt --> je fais un traitement pour chaque ligne contenant le motif "champ", en substituant ' par ' '
le problème est que je ne voudrai pas qu'il le fasse pour la première et la dernière quote (qui délimite le commentaire).


Faut t'il que je fasse plutot un traitement de cette manière ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
cat FICHIER | while read ligne
do
echo "$ligne" | grep "champ" | cut -c ??? `  sed s/\'/\'\'/g
done
le problème ici est que je ne sait pas à quel position "cutter" le commentaire de chaque ligne afin de faire un sed dessus pour remplacer les ' par ' ' (champ et commentaire étant des chaines de caractères à longueur variable)

quelqun pourrai t'il m'aider dans l'une ou l'autre de mes solutions ? à moins qu'il y'a plus simple pour traiter ce problème.


Merci )