2020-11-24 13:58:21 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
2020-11-24 14:09:07 +00:00
|
|
|
# Se rendre dans le dossier passé en argument
|
2020-11-24 13:58:21 +00:00
|
|
|
cd $1
|
|
|
|
|
2020-11-24 14:09:07 +00:00
|
|
|
# Boucler sur les fichiers
|
2020-11-24 13:58:21 +00:00
|
|
|
for file in *.md; do
|
|
|
|
# Séparer le nom de l'extension
|
|
|
|
fileExtension="${file##*.}"
|
|
|
|
fileName="${file%.*}"
|
|
|
|
|
2020-11-24 14:09:07 +00:00
|
|
|
# Remplacer les caractères accentués
|
2020-11-24 13:58:21 +00:00
|
|
|
fileName=$(echo $fileName | iconv -f utf8 -t ascii//TRANSLIT;)
|
|
|
|
|
|
|
|
# Passer en minuscule
|
|
|
|
fileName=$(echo $fileName | awk '{print tolower($0)}')
|
|
|
|
|
|
|
|
# Supprimer les caractères spéciaux
|
|
|
|
fileName=$(echo $fileName | sed $'s/\'/-/g')
|
|
|
|
fileName=$(echo $fileName | sed $'s/\,//g')
|
|
|
|
fileName=$(echo $fileName | sed $'s/[^.[:blank:][:alnum:]\t]-//g')
|
|
|
|
|
2020-11-24 14:09:07 +00:00
|
|
|
# Supprimer les espaces inutiles
|
|
|
|
fileName=$(echo $fileName | xargs)
|
2020-11-24 13:58:21 +00:00
|
|
|
|
2020-11-24 14:09:07 +00:00
|
|
|
# Remplacer les espaces par des tirets
|
2020-11-24 13:58:21 +00:00
|
|
|
fileName=$(echo $fileName | sed 's/ /-/g')
|
|
|
|
|
2020-11-24 14:09:07 +00:00
|
|
|
# Construire le nom du fichier assainit
|
2020-11-24 13:58:21 +00:00
|
|
|
sanitized="${fileName}.${fileExtension}"
|
|
|
|
|
2020-11-24 14:09:07 +00:00
|
|
|
# SI le nom du fichier a été assainit
|
|
|
|
if [[ "${file}" != "${sanitized}" ]]; then
|
|
|
|
# Renommer le fichier
|
|
|
|
mv "${file}" "${sanitized}"
|
2020-11-24 13:58:21 +00:00
|
|
|
|
2020-11-24 14:09:07 +00:00
|
|
|
# Prendre en compte le changement
|
|
|
|
git add "${sanitized}" "${file}"
|
|
|
|
fi
|
|
|
|
done
|