|
|
@@ -0,0 +1,28 @@ |
|
|
|
#!/bin/bash |
|
|
|
if [[ $# -ne 1 || "$1" != http* ]]; then |
|
|
|
printf 'Usage: %q FRONT_PAGE_URL\n' "$0" >&2 |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
|
|
|
|
url="$1" |
|
|
|
if [[ "${url}" == *\?* ]]; then |
|
|
|
printf 'Error: URLs with query strings not supported\n' >&2 |
|
|
|
exit 1 |
|
|
|
fi |
|
|
|
url="${url%/*}" |
|
|
|
|
|
|
|
curl "${url}/TitleIndex" | \ |
|
|
|
grep -A 1000000 -F 'href="/TitleIndex?allpages=1"' | \ |
|
|
|
grep -B 1000000 -F 'id="pagebottom"' | \ |
|
|
|
grep -Po 'href="\K[^"]+' | \ |
|
|
|
grep -Fxv '/TitleIndex?allpages=1' | \ |
|
|
|
sed 's,\?action=AttachFile$,,' | \ |
|
|
|
perl -ne 'print if ! $a{$_}++' | \ |
|
|
|
awk -v url="${url}" \ |
|
|
|
'{ |
|
|
|
print url $0; |
|
|
|
print url $0 "?action=info"; |
|
|
|
print url $0 "?action=info&general=1"; |
|
|
|
print url $0 "?action=raw"; |
|
|
|
print url $0 "?action=AttachFile"; |
|
|
|
}' |