Re: [ssfr] sed : remplacer guillemets anglais par guillements français |
[ Thread Index |
Date Index
| More debianworld.org/shellscript-fr Archives
]
Le 01-11-2008, à 15:51:29 +0000, Edi Stojicevic (estojicevic@xxxxxxxxxxxxxxx) a écrit :
> Lignes : 45
>
> * dlist@xxxxxxxxxx <dlist@xxxxxxxxxx> [2008-11-01 14:36:45 +0100] wrote :
>
> > Bonjour,
>
> Salut,
>
> > J'ai plusieurs fichiers tex où il faudrait remplacer les " par des «»,
> > je me dis que c'est pour sed ça.
> >
> > le motif est
> > "puis 0,1 ou plus espaces puis un mot puis 0,1 ou plus espaces et enfin"
> >
> > Ce motif doit être remplacé par
> >
> > «un_espace_insécable puis le mot puis un_espace_insécable puis »
> >
> > Faut traduire ça en sed maintenant, et c'est là que ça se complique
> > (pour moi).
>
> En perl :
>
> perl -p -i.old -e 's/"\s+(\w+)\s+"/« $1 »/' fichier.txt
Désolé d'être mauvais joueur mais ça ne marche carrément pas ; sur mon
fichier test, voici la sortie :
"un"
"deux"
"un mot"
« un »
" un mot voilà "
pas de mot
et là non plus
Seuls les guillemets de la 4e ligne ont été remplacés.
> L'avantage par rapport à sed est que tu n'es pas obligé de passer par un
> fichier tampon et la substitution est directement faite dans le fichier
> et tu as un fichier .old qui est le fichier original.
Merci pour l'explication.
Steve
---