#1 Le 30/08/2010, à 17:56
- gigiair
[SED] Chaine de remplacement contenant une apostrophe.
J'ai des fichiers Lilypond qui contiennent la ligne :
keepWithTag #'Sop
Je voudrais par un coup de sed remplacer cette ligne par
keepWithTag #'Alt
(resp Ten ou Bas)
mais la commande
sed 's/keepWithTag.*Sop/keepWithTag \#'Alt/g' *.ly
ne marche évidemment pas, si je double la quote, ça passe, mais la quote ne figure pas dans la sortie. Il y a forcément un truc, mais je n'ai pas trouvé dans info sed.
Quelqu'un saurait-il me dépanner ?
--
JJR.
Hors ligne
#2 Le 30/08/2010, à 18:36
- sputnick
Re : [SED] Chaine de remplacement contenant une apostrophe.
sed "s@^keepWithTag #'Sop@keepWithTag #'ALt@" <<< "keepWithTag #'Sop"
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#3 Le 30/08/2010, à 20:25
- sputnick
Re : [SED] Chaine de remplacement contenant une apostrophe.
Il y a aussi cette solution :
sed 's@^keepWithTag #'\''Sop@keepWithTag #'\''ALt@' <<< "keepWithTag #'Sop"
ou encore avec le code octal ascii ( man ascii )
sed 's@^keepWithTag #\o47Sop@keepWithTag #\o47ALt@' <<< "keepWithTag #'Sop"
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne
#4 Le 31/08/2010, à 09:09
- gigiair
Re : [SED] Chaine de remplacement contenant une apostrophe.
OK, ça marche. Super merci. Je me contentais d'échapper le quote sans placer le tout entre quotes. C'est ce qui me paraît le plus simple . On trouve ça dans un info ?
Dernière modification par gigiair (Le 31/08/2010, à 09:15)
--
JJR.
Hors ligne
#5 Le 31/08/2010, à 12:54
- sputnick
Re : [SED] Chaine de remplacement contenant une apostrophe.
Voit http://forum.kubuntu-fr.org/viewtopic.php?pid=3698035#p3698035 j'ai créé un petit exercise
Dernière modification par sputnick (Le 31/08/2010, à 13:45)
On ne peut pas mettre d'array dans un string!
https://sputnick.fr/
Hors ligne