Bonjour,
J'ai un fichier de sous-titres .srt pour une vidéo.
Malheureusement, celui-ci est mal formaté.
Il me faudrait effacer toutes les lignes vides entre le code temporel et le texte.
Par exemple :
00:02:51,459 --> 00:02:53,770
Christian trouvera ton tire-bouchon on
00:02:53,770 --> 00:02:53,780
Christian trouvera ton tire-bouchon on00:02:53,780 --> 00:02:55,210
Christian trouvera ton tire-bouchon on
peut toujours trouver un tire-bouchon eh00:02:55,210 --> 00:02:55,220
peut toujours trouver un tire-bouchon eh
Devrait être :
00:02:51,459 --> 00:02:53,770
Christian trouvera ton tire-bouchon on00:02:53,770 --> 00:02:53,780
Christian trouvera ton tire-bouchon on00:02:53,780 --> 00:02:55,210
Christian trouvera ton tire-bouchon on
peut toujours trouver un tire-bouchon eh00:02:55,210 --> 00:02:55,220
peut toujours trouver un tire-bouchon eh
Je dois donc effacer la ligne vide du début entre
00:02:51,459 --> 00:02:53,770
et
Christian trouvera ton tire-bouchon on
Comme le film dure une heure et qu'il y a souvent cette erreur, comment faire ? Je ne souhaite pas le faire à la main.
Merci des conseils.
# je ferai en perl
Posté par fearan . Évalué à 3 (+0/-0). Dernière modification le 23 septembre 2025 à 15:43.
a noter que j'ai fais du explicite, on pourrait virer les $line et se contenter de $_, et si y'a plusieurs lignes vide je les manges toute
n'en mange qu'une seule :)
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: je ferai en perl
Posté par Voltairine . Évalué à 2 (+0/-0). Dernière modification le 23 septembre 2025 à 17:24.
J'ai l'impression que ton truc supprime toutes les lignes vides ce qui n'est pas le résultat escompté.
Un simple sed ou awk devrait suffire, exemple (il ya sûrement beaucoup plus concis) :
la première commande
/^$/d
supprime toutes les lignes videsla seconde
/\,[0-9]\{3\}/i\\n
insère un saut de ligne après le motif une virgule suivie de trois chiffresEnvoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.