remplacer le caractère "" par une apostrophe

Le
Bernard Schoenacker
bonjour,

j'ai essayé avec sed : sed "s/xc2x92/'/g"

sans résultat

slt
bernard
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
andre_debian
Le #26370673
On Thursday 08 October 2015 16:45:35 Bernard Schoenacker wrote:
j'ai essayé avec sed : sed "s/xc2x92/'/g"
sans résultat




sed -i "s#<92>#'#g"
Bernard Schoenacker
Le #26370678
Le Thu, 8 Oct 2015 17:46:23 +0200,
a écrit :

On Thursday 08 October 2015 16:45:35 Bernard Schoenacker wrote:
> j'ai essayé avec sed : sed "s/xc2x92/'/g"
> sans résultat


sed -i "s#<92>#'#g"




bonjour,

aucun résultats ...

slt
bernard
Francois Meyer
Le #26370729
Le 08/10/2015 16:45, Bernard Schoenacker a écrit :
bonjour,

j'ai essayé avec sed : sed "s/xc2x92/'/g"

sans résultat

slt
bernard




Les commandes proposées telles que
sed "s/<92>/'/g"
remplacent le mot ou la chaîne de caractère "<92>" par l'apost rophe.
Mais s'il s'agit d'un seul caractère, il faudrait en savoir un peu p lus,
car <92> est alors sa représentation codée
dans un autre codage...

François
Bernard Schoenacker
Le #26370742
--MP_/7pnF2SrFz1JYj/ZnC3zFnVe
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Content-Disposition: inline

Le Thu, 08 Oct 2015 21:37:36 +0200,
Francois Meyer
Le 08/10/2015 16:45, Bernard Schoenacker a écrit :
> bonjour,
>
> j'ai essayé avec sed : sed "s/xc2x92/'/g"
>
> sans résultat
>
> slt
> bernard
>
>
Les commandes proposées telles que
sed "s/<92>/'/g"
remplacent le mot ou la chaîne de caractère "<92>" par l'apostrophe.
Mais s'il s'agit d'un seul caractère, il faudrait en savoir un peu
plus, car <92> est alors sa représentation codée
dans un autre codage...

François




bonjour,

le n° "<92>" est l'apostrophe mais de quel encodage ? (mystère et
boulle de gomme) et c'est la sortie avec vim ...

tandis que avec emacs c'est "222" ( Â’ )

voici un extrait en pièce jointe ...

la réponse avec file :

file AAAStatut_ag_le_phare_oct_2015.txt
AAAStatut_ag_le_phare_oct_2015.txt: Non-ISO extended-ASCII text, with
very long lines

je sent que iconv sera de la partie ....

slt
bernard
--MP_/7pnF2SrFz1JYj/ZnC3zFnVe
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename=out.txt


L’ordre du jour est fixé par la direction. Seules sont valables l es résolutions prises par l’assemblée générale sur les points inscrits à l’ordre du jour
La présidence de l’assemblée générale appartient a u président
Toutes les délibérations et résolutions de l’assemblà ©e générale font l’objet d’un procès-verbal et s ont consignées dans le registre des «délibération des a ssemblées générales» , signées par le préside nt et le secrétaire. Il est également tenu une feuille de prà ©sence qui est signée par chaque membre et certifiée conforme p ar le président et le secrétaire



--MP_/7pnF2SrFz1JYj/ZnC3zFnVe--
Alexandre Hoïde
Le #26370746
On Thu, Oct 08, 2015 at 11:30:56PM +0200, Bernard Schoenacker wrote:
Le Thu, 08 Oct 2015 21:37:36 +0200,
Francois Meyer
> Le 08/10/2015 16:45, Bernard Schoenacker a écrit :
> > bonjour,
> >
> > j'ai essayé avec sed : sed "s/xc2x92/'/g"
> >
> > sans résultat
> >
> > slt
> > bernard
> >
> >
> Les commandes proposées telles que
> sed "s/<92>/'/g"
> remplacent le mot ou la chaîne de caractère "<92>" par l'apostrophe.
> Mais s'il s'agit d'un seul caractère, il faudrait en savoir un peu
> plus, car <92> est alors sa représentation codée
> dans un autre codage...
>
> François
>

bonjour,

le n° "<92>" est l'apostrophe mais de quel encodage ? (mystère et
boulle de gomme) et c'est la sortie avec vim ...

tandis que avec emacs c'est "222" ( ’ )
[…]
je sent que iconv sera de la partie ....




Ça serait-y pas du Windows-1252, par hasard ? U+2019 est le
guillemet-apostrophe (x92 en W-1252 = 146 en décimal et 222 en octal…
l'étau se ressert !). Auquel cas, éventuellement, un
$ iconv -f WINDOWS-1252 -t UTF-8 filename.txt
… pour redresser la situation ?

--
 ___________________
| $ post_tenebras ↲ |       waouh !
| GNU         /    |      /
|          -- * --  |     o
| $ who ↲    /     |_-- ~_|
| Alexandre Hoïde   |  _/| |
 -------------------
Bernard Schoenacker
Le #26370749
Le Thu, 8 Oct 2015 23:49:13 +0200,
Alexandre Hoïde
On Thu, Oct 08, 2015 at 11:30:56PM +0200, Bernard Schoenacker wrote:
> Le Thu, 08 Oct 2015 21:37:36 +0200,
> Francois Meyer >
> > Le 08/10/2015 16:45, Bernard Schoenacker a écrit :
> > > bonjour,
> > >
> > > j'ai essayé avec sed : sed "s/xc2x92/'/g"
> > >
> > > sans résultat
> > >
> > > slt
> > > bernard
> > >
> > >
> > Les commandes proposées telles que
> > sed "s/<92>/'/g"
> > remplacent le mot ou la chaîne de caractère "<92>" par
> > l'apostrophe. Mais s'il s'agit d'un seul caractère, il faudrait
> > en savoir un peu plus, car <92> est alors sa représentation codée
> > dans un autre codage...
> >
> > François
> >
>
> bonjour,
>
> le n° "<92>" est l'apostrophe mais de quel encodage ? (mystère et
> boulle de gomme) et c'est la sortie avec vim ...
>
> tandis que avec emacs c'est "222" ( ’ )
> […]
> je sent que iconv sera de la partie ....
>

Ça serait-y pas du Windows-1252, par hasard ? U+2019 est le
guillemet-apostrophe (x92 en W-1252 = 146 en décimal et 222 en octal…
l'étau se ressert !). Auquel cas, éventuellement, un
$ iconv -f WINDOWS-1252 -t UTF-8 filename.txt
… pour redresser la situation ?




bonjour,

merci du tuyau mais je l'ai employé avant de répondre et tout est
rentré dans l'ordre ....

iconv -f windows-1252 -t UTF-8 file.txt >file-1.txt

slt
bernard
Alexandre Hoïde
Le #26370751
On Fri, Oct 09, 2015 at 12:06:22AM +0200, Bernard Schoenacker wrote:
Le Thu, 8 Oct 2015 23:49:13 +0200,
Alexandre Hoïde > Ça serait-y pas du Windows-1252, par hasard ? U+2019 est le
> guillemet-apostrophe (x92 en W-1252 = 146 en décimal et 222 en octal…
> l'étau se ressert !). Auquel cas, éventuellement, un
> $ iconv -f WINDOWS-1252 -t UTF-8 filename.txt
> … pour redresser la situation ?
>

bonjour,

merci du tuyau mais je l'ai employé avant de répondre et tout est
rentré dans l'ordre ....

iconv -f windows-1252 -t UTF-8 file.txt >file-1.txt




Je t'en prie !

Nous sommes les carabiniers
La sécurité des foyers
Mais par un malheureux hasard
Au secours des particuliers
Nous arrivons toujours trop tard.

--
 ___________________
| $ post_tenebras ↲ |       waouh !
| GNU         /    |      /
|          -- * --  |     o
| $ who ↲    /     |_-- ~_|
| Alexandre Hoïde   |  _/| |
 -------------------
Francois Lafont
Le #26370754
Bonsoir,

le n° "<92>" est l'apostrophe mais de quel encodage ? (mystère et
boulle de gomme) et c'est la sortie avec vim ...

tandis que avec emacs c'est "222" ( ’ )

voici un extrait en pièce jointe ...



Personnellement, sur ma machine, la commande « file » me dit que ton
fichier est en UTF-8 et je comprends que le caractère qui pose problème
est le caractère dont le code point unicode est U+0092 (attention, le
code point ce n'est pas la même chose que l'encodage numérique).

~$ file /tmp/out.txt
/tmp/out.txt: UTF-8 Unicode text, with very long lines

En fait, il suffit a priori de saisir le caractère dans sed et un simple :

sed "s/<LE-CARACTÈRE>/'/g" le-fichier.txt

devrait marcher, exactement comme si on voulait remplacer les « a » par
des « ' » sauf qu'ici ce n'est pas un « a » mais un caractère un peu
étrange.

Une première méthode que j'ai pu tester est de générer le caractère avec
Perl (a priori déjà installé sur ta Debian à 99,99%) :

char=$(perl -C -wE 'say "x{0092}"')
sed -i "s/$char/'/g" le-fichier.txt

Une autre façon de faire est de taper le caractère directement dans le
terminal (là je sais pas si ça marchera partout) en tapant sur le clavier
(alors qu'on est dans un terminal) « shift + u + le-code-point-du-caractère ».
Donc si je tape les caractères suivants :

=> « sed -i "s/ »
=> puis « shift + u + 0092 »
=> puis « /'/g" le-fichier.txt »
=> puis Entrée

alors la commande fonctionne chez moi.

Bref, les 2 méthodes ont fonctionné sur ma Debian Wheezy avec ton
fichier en pièce jointe (md5sum => 83070902dea2600878d40602c396c0d4)
sur mon terminal qui est Terminator en l'occurrence.

Voilà, j'espère qu'au moins une des deux méthodes marchera chez toi.

--
François Lafont
andre_debian
Le #26370802
Je me permets de rebondir par une question très proche :

Comment remplacer cette chaîne dans un fichier :

</table>' par </table>

(retirer juste l'apostrophe après </table>)

J'ai bien tenté ça, mais ça marche pas :
sed -i "s#</table>'#</table>#g" fichier

Je précise que </table>' se trouve tout à la fin du fichier.

André
andre_debian
Le #26370817
On Friday 09 October 2015 11:53:26 françois wrote:
Le 09/10/2015 11:09, a écrit :
> Je me permets de rebondir par une question très proche :
> Comment remplacer cette chaîne dans un fichier :
> </table>' par </table>
> (retirer juste l'apostrophe après </table>)
> J'ai bien tenté ça, mais ça marche pas :
> sed -i "s#</table>'#</table>#g" fichier
> Je précise que </table>' se trouve tout à la fin du fichier.
> André

Chez moi (gnome-terminal) ça marche :
sed -r "s/</table>'/</table>/g" (en échappant bien le slash de /ta ble)
François



Merci, je vais tester ASAP,

mais pourquoi répondre en privé ?
ça peut aider des membres de la liste... et c'est le but.

:


Surtout si tu es enseignant :-)

André
Publicité
Poster une réponse
Anonyme