corrections divers
This commit is contained in:
40
check_links.sh
Executable file
40
check_links.sh
Executable file
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Temporaire pour les résultats des liens brisés
|
||||
BROKEN_LINKS=$(mktemp)
|
||||
|
||||
# Fonction pour vérifier les liens
|
||||
check_links() {
|
||||
local file=$1
|
||||
local base_dir=$(dirname "$file")
|
||||
|
||||
# Cherche les liens vers les fichiers .md
|
||||
grep -o '\[.*\](.*\.md)' "$file" | while read -r link; do
|
||||
# Extraire le chemin du fichier lié
|
||||
linked_file=$(echo "$link" | sed 's/^.*(\(.*\))$/\1/')
|
||||
|
||||
# Résoudre le chemin relatif
|
||||
resolved_path=$(realpath -m "$base_dir/$linked_file")
|
||||
|
||||
# Vérifie si le fichier lié existe
|
||||
if [ ! -f "$resolved_path" ]; then
|
||||
echo "Lien brisé dans $file: $linked_file (résolu en $resolved_path)" >> "$BROKEN_LINKS"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
# Répertorie tous les fichiers .md dans le dépôt
|
||||
find . -type f -name "*.md" ! -name "README.md" | while read -r file; do
|
||||
check_links "$file"
|
||||
done
|
||||
|
||||
# Affiche les liens brisés
|
||||
if [ -s "$BROKEN_LINKS" ]; then
|
||||
echo "Les liens brisés suivants ont été trouvés :"
|
||||
cat "$BROKEN_LINKS"
|
||||
else
|
||||
echo "Aucun lien brisé trouvé."
|
||||
fi
|
||||
|
||||
# Nettoyage
|
||||
rm "$BROKEN_LINKS"
|
||||
Reference in New Issue
Block a user