Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/01/2019, à 17:51

Sciensous

sed et ° [RÉSOLU]

bonsoir, un soucis avec sed:

je cherche à traiter des fichiers avec sed; or dès que des ° apparaissent le traitement "bug" (s'arrête ?)

j'ai fini par trouver avec cat -v qu'en fait les  ° sont interprétés par M-0 au lieu de M-BM-0
(sûrement un fichier d'un autre monde... bien répandu par défaut)

Quelqu'un a une idée pour pouvoir traiter ces fichiers correctement ?

Dernière modification par Sciensous (Le 14/01/2019, à 22:36)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#2 Le 13/01/2019, à 18:48

pingouinux

Re : sed et ° [RÉSOLU]

Bonsoir,
Tu n'aurais pas un exemple de quelques lignes, par hasard ?

Édité : Inutile, j'ai reproduit l'erreur, et vais regarder

Dernière modification par pingouinux (Le 13/01/2019, à 18:51)

Hors ligne

#3 Le 13/01/2019, à 18:58

pingouinux

Re : sed et ° [RÉSOLU]

Finalement, j'avais mal testé, et ça a l'air de marcher.

sed  's/°/chaine/' fichier

Hors ligne

#4 Le 13/01/2019, à 22:03

Sciensous

Re : sed et ° [RÉSOLU]

hum ça aurait été trop facile mais j'y ai cru lol

je mets un exemple de fichier en espérant que le codage ne sera pas modifié:

degre

EDIT: à l'aide de hd, je vois qu'en hexa le ° est B0 au lieu du couple C2B0
donc je pourrais le faire en binaire, sauf si quelqu'un a une solution "tout texte" pour sed

EDIT2: je vois aussi dans ma boule de cristal du net que je peux passer par sed "s/\xBO/°/g"
wink

je vous tiens au courant si ça marche ou non
cool

Dernière modification par Sciensous (Le 13/01/2019, à 22:11)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#5 Le 13/01/2019, à 22:41

diesel

Re : sed et ° [RÉSOLU]

J'ai l'impression que ton problème vient du fait que tu essayes de traiter un fichier qui n'est pas codé en UTF8 sur un système qui, lui, est en UTF8.

Amicalement.

Jean-Marie


Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.

Hors ligne

#6 Le 13/01/2019, à 22:50

pingouinux

Re : sed et ° [RÉSOLU]

Le format de ton fichier est de l'ISO-8859 et non de l'UTF-8.

$ file test.dat
test.dat: ISO-8859 text

Tu peux faire ceci :

$ sed  's/\xb0/chaine/' test.dat
#Lun 07 
07-16:00    6 chaineC

ou bien

$ iconv -f ISO-8859-1 test.dat | sed  's/°/chaine/'
#Lun 07 
07-16:00    6 chaineC

et si tu veux revenir dans le format d'origine

$ iconv -f iso-8859-1 test.dat | sed  's/°/chaine/' | iconv -t ISO-8859-1
#Lun 07 
07-16:00    6 chaineC

Hors ligne

#7 Le 14/01/2019, à 22:35

Sciensous

Re : sed et ° [RÉSOLU]

merci pingouinux (et diesel83140), un réencodage était bien la solution

iconv -t isoISO-8859 test.dat -o test.dat 

introduite dans le script et ça marche  smile)

Dernière modification par Sciensous (Le 14/01/2019, à 22:35)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne