在 Gollum wiki 中,我如何找到孤立页面 - 即没有指向它们的链接的页面?
我曾尝试编写一个 bash 脚本(见下文),但它似乎不适用于名称中包含特殊字符 (, ) 和 / 的页面。
#!/bin/bash
found=""
find . -name HelpPages -prune -o -name '*.md' -type f -print0 | while IFS= read -r -d '' f; do
escaped=$(echo $f | sed -e "s/.md//g")
escaped=$(echo $escaped | sed -e "s/.\///g")
escaped=$(echo $escaped | sed -e "s/(/\\\\(/g")
escaped=$(echo $escaped | sed -e "s/)/\\\\)/g")
escaped=$(echo $escaped | sed -e "s/\.\///g")
escaped=$(echo $escaped | sed -E 's/[- ]/\[- \/\]/g')
escaped=$(echo $escaped | sed -E 's/ /\\ /g')
found=$(grep -i -r "[\|\[]$escaped\]" *.md)
echo "_________"
echo "Processing $escaped file..."
if [ -n "$found" ]; then
echo "found: $f"
echo "$found"
else
echo "NOT found: $f"
fi
done
*.md
此脚本首先在与文件名模式匹配的目录中查找文件。然后,对于每个文件名,例如The-event-log-(errors-warnings).md
,脚本需要找到链接,该链接可以是以下任何一种:
[[The event log (errors/warnings)]]
[[The event log (errors warnings)]]
[[The-event-log-(errors-warnings)]]
[[The event log|The-event-log-(errors-warnings)]]