Aller au contenu

problème avec la commande "sed" dans un script


zemax_59

Messages recommandés

Bonjour à tous,

J'espère que j'écris dans la bonne section. J'ai hésité entre celle-là (c'est le cas, je suis newbie) ou Underground/Modification, puisqu'il s'agit d'un paquet tiers.

Bref, je vous explique mon soucis : j'ai installé la dernière version de TVheadend-testing sur mon DS415+ (en DSM6). Jusque là, tout va bien. J'ai aussi mis en place un fichier "tv_grab_file" dans /usr/bin  pour capter les EPG en XMLTV. Reconnu dans l'interface et pris en compte, là aussi, ca marche.

Comme j'ai pris un grabber en français, j'ai les catégories des programmes dans la langue de Molière, et du coup, mon Kodi ne me colore pas les programmes comme je le souhaiterais. J'ai trouvé sur ce forum et ailleurs sur Internet, des scripts utilisés pour changer les noms des catégories du français vers l'anglais, en utilisant la commande "sed". Ça ressemble à ça:

....
sed -ri 's/<category lang="fr">Magazine scientifique/<category>Education \/ Science \/ Factual topics/g' /tmp/alacarte.xml  #exemple1
sed -ri 's/<category lang="fr">Météo/<category>News \/ Weather report/g' /tmp/alacarte.xml  #exemple2
....#environ une 100aine de ligne de ce genre avant le
cat /tmp/alacarte.xml

Avec ces lignes ajoutées dans le tv_grab_file, ça marche, mais en partie seulement.... certaines catégories sont bien prise en compte, les autres, bah toujours rien.... J'ai fouillé un peu :

  • Si j'exécute le script tv_grab_file via SSH, j'ai quelques messages d'erreur avant que le fichier xml ne défile :
sed -e: expression#1, char 63: unterminated `s' command

Cette ligne se répète plusieurs fois avec des n° de "char" différents : 63, 72, 89, 66, etc... Dans le fichier xml qui en résulte, j'ai remarqué que les noms des catégories qui possèdent un accent ne sont  pas traduite (comme l'exemple 1). Le reste est OK.

  • Là où je ne comprends plus rien, c'est que si j'exécute la ligne seule via SSH.... et bien ça marche !
User@Diskstation:~$ sed -ri 's/<category lang="fr">Météo/<category>News \/ Weather report/g' /tmp/alacarte.xml

Le soucis c'est que je ne peux pas me permettre de taper ces +/- 100 lignes de codes toutes les 12h pour mettre à jour mon EPG.

Comme je le disais en début, je suis newbie en Linux, il y a peut-être un truc évident qui m'échappe. Est-ce que quelqu'un a une solution à ce problème ?

Merci d'avance.

Modifié par zemax_59
Lien vers le commentaire
Partager sur d’autres sites

Salut,
Merci pour l'info. Donc ça marche chez toi ? C'est à dire que toutes les catégories sont bien traduites ?

Bon, il faut que je me penche sur Uconv alors, je connais pas du tout cette commande (je débute à peine...). Si tu as la commande avec les compléments à utiliser je suis preneur.

Merci !

Modifié par zemax_59
Lien vers le commentaire
Partager sur d’autres sites

il y a 53 minutes, zemax_59 a dit :

Merci pour l'info. Donc ça marche chez toi ? C'est à dire que toutes les catégories sont bien traduites ?

je veux simplement dire que ta commande sed est correcte et comme ton soucis semble lié aux accents, c'est surement un soucis d'encodage (du script et/ou du xml)

Lien vers le commentaire
Partager sur d’autres sites

 

Ok. J'avais mal compris...

Je me penche dessus ce soir.

-------------

Edit 12/09 : Bon ben effectivement c'était le codage de mon script qui déconnait. En faisant un "uconv monscript", j'ai ça :

Conversion to Unicode from codepage failed at input byte position 422. Bytes : e9 Error: Illegal character found

Et après, il me récite le script jusqu'au premier "é" qu'il n'affiche pas.

Donc j'ai fait :

uconv -f utf-8 -t unicode monscript

Et j'ai récupéré mon script plus haut sans les accents et la lettre d'après, du style :

sed -ri 's/<category lang="fr">M  /<category>News \/ Weather report/g' /tmp/alacarte.xml #pour Météo

J'ai remis les accents "à la main" et cette fois, ça marche !!!  Je ne sais pas si c'était la bonne méthode, mais en tout cas le but est atteint.

 

Merci encore Fenrir pour l'idée du "uconv" !

 

Modifié par zemax_59
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.