1
0
git-hooks/sanitizeFileName.bash
pu!s@r 5018a23d20 Multiples changements
- correction des commentaires
  - utiliser `xarg` pour supprimer les espaces inutiles
  - ajouter chaque fichier nettoyer à git
2020-11-24 15:09:07 +01:00

41 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# Se rendre dans le dossier passé en argument
cd $1
# Boucler sur les fichiers
for file in *.md; do
# Séparer le nom de l'extension
fileExtension="${file##*.}"
fileName="${file%.*}"
# Remplacer les caractères accentués
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')
# Supprimer les espaces inutiles
fileName=$(echo $fileName | xargs)
# Remplacer les espaces par des tirets
fileName=$(echo $fileName | sed 's/ /-/g')
# Construire le nom du fichier assainit
sanitized="${fileName}.${fileExtension}"
# SI le nom du fichier a été assainit
if [[ "${file}" != "${sanitized}" ]]; then
# Renommer le fichier
mv "${file}" "${sanitized}"
# Prendre en compte le changement
git add "${sanitized}" "${file}"
fi
done