#!/bin/bash # Aller dans le dossier passer en paramètre cd $1 # Boucler sur les fichiers Markdown for file in *.md; do # Séparer le nom de l'extension fileExtension="${file##*.}" fileName="${file%.*}" # Convertir les noms avec accents par ceux sans 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 l'espace en fin de ligne fileName=$(echo $fileName | sed 's/ \.md/\.md/g') # Remplacer les espaces par des _ fileName=$(echo $fileName | sed 's/ /-/g') # Créer le nouveau nom de fichier sanitized="${fileName}.${fileExtension}" # SI le nom du fichier a été assainit, ALORS renommer le fichier [[ "${file}" != "${sanitized}" ]] && mv "${file}" "${sanitized}" done # Prendre en compte le changement git add .