J'utilise cette ligne unique pour supprimer les caractères invalides dans les fichiers de sous-titres :
for f in *.srt; do nf=$(echo "$f" |sed -e 's/[^A-Za-z0-9.-]/./g;s/\.\.\././g;s/\.\././g'); test "$f" != "$nf" && mv "$f" "$nf" && echo "$nf"; done
- Traite uniquement les fichiers *.srt( * pourrait être utilisé à la place de *.srt pour traiter tous les fichiers)
- Supprime tous les autres caractères, à l'exception des lettres A-Za-z, des chiffres 0-9, des points "." et des tirets "-".
- Supprime les éventuels points doubles ou triples
- Vérifie si le nom du fichier doit être modifié.
- Si c'est le cas, il renomme le fichier à l'aide de la commande mv, puis affiche les modifications apportées à l'aide de la commande echo.
Il permet de normaliser les noms de répertoire des films :
for f in */; do nf=$(echo "$f" |sed -e 's/[^A-Za-z0-9.]/./g' -e 's/\.\.\././g' -e 's/\.\././g' -e 's/\.*$//'); test "$f" != "$nf" && mv "$f" "$nf" && echo "$nf"; done
Mêmes étapes que ci-dessus mais j'ai ajouté une commande sed supplémentaire pour supprimer un point à la fin du répertoire
X-Men Days of Future Past (2014) [1080p]
Modifié pour :
X-Men.Days.of.Future.Past.2014.1080p