IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Automatiser rechercher et remplacer dans TextEdit [Résolu], Pour remplacer les caractères dans des fichiers de sous-titres
Options
paradisestation
posté 24 Jun 2015, 11:31
Message #1


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 929
Inscrit : 22 Feb 2005
Lieu : Charente
Membre no 33 643



Bonjour à tous,

Alors voilà, j'ai pas mal de fichiers de sous-titres et le problème hélas est que ceux-ci ne s'affichent pas correctement, les accents étant remplacés par des caractères qui rendent la lecture de ceux-ci extrêmement inconfortable. Même si ceux-ci sont en Unicode (UTF-8).

Dans TexEdit, la plupart du temps, je fais Edition / Rechercher / Rechercher et remplacer puis je clique sur tous et il me remplace le caractère désiré dans tout le texte. Ca marche très bien mais c'est un petit peu laborieux car voici les caractères que j'ai à remplacer dans chaque fichier de sous-titres :

È : é
‡ : à
Ë : è
Í : ê
‚ : â
Ù : ô
Á : ç
˚ : û
¿ : A
ú : oe
Ó : î
˘ : ù
« : C
… : E
∞ : °

Vous conviendrez que c'est un peu long de faire la même manip pour chacun de ces caractères, et ceci, juste pour un fichier de sous-titre de films. Il est possible en allant dans les Préférences / Clavier à l'onglet Texte d'avoir accès à une fenêtre Remplacer / Par mais celle-ci n'accepte pas que ce soit un seul caractère ...

Ma question est donc la suivante : Existe t-il un moyen d'automatiser ces remplacements de caractères dans TextEdit ? Le bonheur serait même de pouvoir lui désigner un dossier de fichiers à traiter (ouvrir le fichier + rechercher et remplacer + sauver). Avec Automator le cas échéant ... Si ça n'existe pas, ça pourrait-être un challenge pour un programmeur ?

En tout cas merci pour vos solutions opportunes!

Ce message a été modifié par paradisestation - 24 Jun 2015, 12:31.


--------------------
 MacBook Pro 2015 i7 2,2 GHz 16 Go OS 10.14.6  iMac 27" 2017 i7 4,2 Ghz 40 Go OS 10.14.6 
Go to the top of the page
 
+Quote Post
paradisestation
posté 24 Jun 2015, 12:31
Message #2


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 929
Inscrit : 22 Feb 2005
Lieu : Charente
Membre no 33 643



Bon sang, j'y ai passé 3 heures mais j'ai fini par trouver, pas avec TextEdit, mais avec TextFinderX http://sw.ixoft.com/texfinderx/
C'est très simple: il suffit de mettre tous vos sous-titres défectueux dans un dossier, d'aller dans le dossier TFXTables qui se trouve dans le même dossier que le logiciel. Là, prenez n'importe quel fichier, dupliquez le et renommez le comme bon vous semble, moi je l'ai appelé Sous-Titres. Ouvrez-le avec TextEdit et remplacez son texte par celui-ci : (une fois cette manip faite, vous n'aurez plus à la refaire)

Converts accented text to non-accented text.
Replaces the most common non standard characters by standard characters (so it will replace "é" by "e").
Deletes trailing spaces.
Replaces multiple spaces and tabs by a single space.
1.1©2011 iXoft.
/////true/////
È é
‡ à
Ë è
Í ê
‚ â
Ù ô
Á ç
˚ û
¿ A
ú oe
Ó î
Ô ï
˘ ù
« C
» E
… E
Ÿ U
∞ °
multiple spaces
multiple spaces
multiple spaces
multiple spaces
<9> replace TAB by space
<13><10> <13><10>
<13> <13> delete space before CR
<10> <10>

Voilà, maintenant il ne vous reste plus qu'à glisser le dossier de fichiers de sous-titres avec les mauvais accents dans la fenêtre principale de TextFinderX, puis cliquez sur Replacement Table, sélectionnez celle que vous aurez renommée puis c'est parti!
En 1 seconde tous les .srt à l'intérieur du dossier comporterons dorénavant les bons caractères !
Attention : ne sélectionnez que les srt qui ont des problèmes d'accents, sinon il pourrait vous enlever des lettres en moulinant son script !

Je vous dit pas le temps gagné maintenant ! :-)

Ce message a été modifié par paradisestation - 27 Jun 2015, 20:29.


--------------------
 MacBook Pro 2015 i7 2,2 GHz 16 Go OS 10.14.6  iMac 27" 2017 i7 4,2 Ghz 40 Go OS 10.14.6 
Go to the top of the page
 
+Quote Post
Porphyre
posté 27 Jun 2015, 11:26
Message #3


Macbidouilleur d'Or !
*****

Groupe : Membres
Messages : 1 834
Inscrit : 20 Aug 2005
Lieu : Villebon sur Yvette - Essonne
Membre no 44 180



Je pense que je vais aussi gagner du temps wink.gif Merci


--------------------
" Pas de boogie woogie avant la sauv'gard du soir !!!! "

Porphyre

iMac 24" mid 2009 8Go RAM SSD 256Go + HD 1To - Macbookpro 13" 2010 - iMac 21,5" fin 2009 (Snow Leo 10.6.8) - Mac mini 2012 (Mountain Lion)
Go to the top of the page
 
+Quote Post
paradisestation
posté 27 Jun 2015, 20:31
Message #4


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 929
Inscrit : 22 Feb 2005
Lieu : Charente
Membre no 33 643



Pas de quoi, c'était vraiment un problème récurrent qui me faisait perdre du temps, maintenant c'est résolu : en deux heures, j'ai mouliné quelques 2000 fichiers de sous-titres, chose qui m'aurait pris au bas-mot une bonne semaine si je n'avais trouvé ce soft magique !
Ouf, voilà une bonne chose de faite ! :-)


--------------------
 MacBook Pro 2015 i7 2,2 GHz 16 Go OS 10.14.6  iMac 27" 2017 i7 4,2 Ghz 40 Go OS 10.14.6 
Go to the top of the page
 
+Quote Post
paradisestation
posté 1 Jun 2016, 03:24
Message #5


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 929
Inscrit : 22 Feb 2005
Lieu : Charente
Membre no 33 643



Bon, petite mise à jour concernant les caractères à changer. Voici une liste définitive. Il suffit d'aller dans TexFinderX / TFXTables et dans le fichier que vous aurez appelé par exemple : Sous Titres.txt. Vous l'ouvrez dans textedit, sélectionnez tout et remplacez par le texte suivant :

Converts accented text to non-accented text.
Replaces the most common non standard characters by standard characters (so it will replace "é" by "e").
Deletes trailing spaces.
Replaces multiple spaces and tabs by a single space.
1.1©2011 iXoft.
/////true/////
È é
‡ à
Ë è
Í ê
‚ â
Ù ô
Á ç
˚ û
¿ A
ú oe
Ó î
Ô ï
˘ ù
« C
» E
… E
√© é
√® è
√¢ â
À A
√† à
√ß ç
√¥ ô
É E
√Æ î
Ç C
√¢ â
√™ ê
√π ù
Ÿ U
∞ °
Î ë
√ç ê
âÄ à
Àò ù
√à é
√ã è
âÄ° à
âÄö â
Àö û
√Ø ï
à° à
√Å ç
àö â
¬´ C
√ô ô
multiple spaces
multiple spaces
multiple spaces
multiple spaces
<9> replace TAB by space
<13><10> <13><10>
<13> <13> delete space before CR
<10> <10>



Voilà. Je dois signaler que l'application TexFinderX n'aime pas trop les titres de sous-titres / textes dont le nom comporte une virgule. Si c'est le cas elle ne traitera tout simplement pas le fichier.

Autre chose, plutôt que de vous embêter à voir quel fichier de sous-titre est à traiter ou pas, faites une recherche dans votre dossier de film en tapant "√" par exemple, vous verrez automatiquement les fichiers à traiter.

Voilà c'est tout, si vous avez des questions, n'hésitez pas ! ;-)


--------------------
 MacBook Pro 2015 i7 2,2 GHz 16 Go OS 10.14.6  iMac 27" 2017 i7 4,2 Ghz 40 Go OS 10.14.6 
Go to the top of the page
 
+Quote Post
flip flop
posté 5 Jun 2016, 20:17
Message #6


Adepte de Macbidouille
*

Groupe : Membres
Messages : 128
Inscrit : 12 Jul 2010
Membre no 156 555



Bonjour smile.gif

Pour resynchroniser des sous-titres, on peut utiliser l'application gratuite SubFix:
http://pier.morel.perso.sfr.fr/subfix/francais.html
Cette application date un peu (2009) mais elle est vraiment très bien.

Avec SubFix, si on ouvre un fichier de sous-titres présentant des caractères "spéciaux", et si on fait un "Enregistrer sous" (sans même définir une quelconque resynchonisation), alors le fichier sauvegardé ne présente plus ces caractères "spéciaux" mais les caractères "normaux" associés.

Est-ce que cette application vous serait utile ?


--------------------
iMac fin 2013 - Mojave
Go to the top of the page
 
+Quote Post
paradisestation
posté 7 Jun 2016, 05:32
Message #7


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 929
Inscrit : 22 Feb 2005
Lieu : Charente
Membre no 33 643



Non, je synchronise le timing des sous-titres avec Sears mais merci quand même ! :-)

Le sujet consistait à trouver un moyen de réaliser une macro sur un ensemble de fichiers textes afin de remplacer des caractères.
J'ai trouvé mon bonheur avec TextFinderX qui fait ça très bien. J'ai même fini par lancer la macro sur l'ensemble des fichiers srt français de mon disque dur et il a réalisé ça tout seul comme un grand, chaque fichier restant à son emplacement d'origine et subissant la modification.

En gros le sujet est résolu mais il pourra aider d'autres qui se trouvaient dans le même cas avec des milliers de sous-titres à gérer.


--------------------
 MacBook Pro 2015 i7 2,2 GHz 16 Go OS 10.14.6  iMac 27" 2017 i7 4,2 Ghz 40 Go OS 10.14.6 
Go to the top of the page
 
+Quote Post
flip flop
posté 7 Jun 2016, 08:55
Message #8


Adepte de Macbidouille
*

Groupe : Membres
Messages : 128
Inscrit : 12 Jul 2010
Membre no 156 555



Oui, mais... sans du tout utiliser la fonction "resynchronisation" de Subfix, cette application permet en à peine deux ou trois clics (pour juste "Ouvrir" un fichier puis pour immédiatement faire un "Enregistrer sous"") de traiter un fichier de sous-titres en changeant (sans avoir à le demander) tous ses caractères "non standards" en caractères "standards"... sans aucune contrainte smile.gif vraiment très pratique pour traiter UN fichier de temps en temps smile.gif


--------------------
iMac fin 2013 - Mojave
Go to the top of the page
 
+Quote Post
trouspinette
posté 7 Jun 2016, 18:26
Message #9


Macbidouilleur d'Or !
*****

Groupe : Rédacteurs
Messages : 5 064
Inscrit : 19 Feb 2002
Lieu : BZH
Membre no 2 083



Très sympa ce petit soft :-)

Tu peux aussi le faire à l'aide d'un script utilisant sed.

Exemple :
Code
#!/bin/bash

SPEC_CHAR="ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæ
çèéêëìíîïðñòóôõöøùúûüýþÿ©"
NORM_CHAR="AAAAAAACEEEEIIIIDNOOOOOOUUUUYPSaaaaaaaceeeeiiiionoooooouuuuyby-"

/usr/bin/sed -i.bk 'y/'$SPEC_CHAR'/'$NORM_CHAR'/' $1

exit 0


Soucis, il doit y avoir le même nombre de caractères dans SPEC_CHAR et NORM_CHAR...


--------------------
Quis custodiet ipsos custodes ? - Lorsqu'un sujet est résolu, merci d'indiquer [Résolu] dans le titre de votre post !

Luttons contre le style SMS !!!

iPhone 14Pro Max 256 Go iOS 17• MacBook Pro 16 2019 Core i9 - macOS 12.7.2 - 32 GB RAM - 2 TB • @Orange
Linux • OPNSense / pfSense • Une pointe de Windows aussi • Enfocus Switch Expert • callas pdfToolBox
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 23rd April 2024 - 17:23