diff --git a/sanitizeFileName.bash b/sanitizeFileName.bash index c833782..ae3325f 100755 --- a/sanitizeFileName.bash +++ b/sanitizeFileName.bash @@ -1,15 +1,15 @@ #!/bin/bash -# Aller dans le dossier passer en paramètre +# Se rendre dans le dossier passé en argument cd $1 -# Boucler sur les fichiers Markdown +# Boucler sur les fichiers for file in *.md; do # Séparer le nom de l'extension fileExtension="${file##*.}" fileName="${file%.*}" - # Convertir les noms avec accents par ceux sans + # Remplacer les caractères accentués fileName=$(echo $fileName | iconv -f utf8 -t ascii//TRANSLIT;) # Passer en minuscule @@ -20,18 +20,21 @@ for file in *.md; do fileName=$(echo $fileName | sed $'s/\,//g') fileName=$(echo $fileName | sed $'s/[^.[:blank:][:alnum:]\t]-//g') - # Supprimer l'espace en fin de ligne - fileName=$(echo $fileName | sed 's/ \.md/\.md/g') + # Supprimer les espaces inutiles + fileName=$(echo $fileName | xargs) - # Remplacer les espaces par des _ + # Remplacer les espaces par des tirets fileName=$(echo $fileName | sed 's/ /-/g') - # Créer le nouveau nom de fichier + # Construire le nom du fichier assainit sanitized="${fileName}.${fileExtension}" - # SI le nom du fichier a été assainit, ALORS renommer le fichier - [[ "${file}" != "${sanitized}" ]] && mv "${file}" "${sanitized}" -done + # 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 . + # Prendre en compte le changement + git add "${sanitized}" "${file}" + fi +done