17 lines
434 B
Bash
Executable File
17 lines
434 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# used to alert me if i've written a bad internal link or broken one by changing a header
|
|
|
|
files="$(find $1 -name '*.html' -type f)"
|
|
|
|
for filename in $files
|
|
do
|
|
links="$(grep -oP '<a.*?>' -h $filename | grep -oP '(?<=href="\#).*?(?=")')"
|
|
ids="$(grep -oP '(?<=id=").*?(?=")' -h $filename)"
|
|
|
|
for link in $links
|
|
do
|
|
[[ "$ids" == *"$link"* ]] \
|
|
|| echo Found broken internal link in $filename: $link
|
|
done
|
|
done
|