36 lines
853 B
Bash
Executable file
36 lines
853 B
Bash
Executable file
#!/usr/bin/env zsh
|
|
|
|
# get script directory
|
|
if [[ ${0[0]} = '/' ]]; then
|
|
scriptdir="${0:h}"
|
|
else
|
|
scriptdir="$PWD/${0:h}"
|
|
fi
|
|
|
|
cd $scriptdir
|
|
|
|
for rep in **/{??,???}_*(N/); do
|
|
print "renaming html of $rep"
|
|
cd $rep
|
|
i=10
|
|
for fic in *.html(.N); do
|
|
title=$( <$fic grep h2 | sed 's/<[^>]*>//g;s/&[^;]*;//g;s/[^a-zA-Z0-9]/_/g;s/__*/_/g;s/^_//;s/_$//;')
|
|
if ((i<100)); then
|
|
num="0$i"
|
|
else
|
|
num="$i"
|
|
fi
|
|
((i+=10))
|
|
newfic=${num}_$title.${fic:e}
|
|
[[ $fic == $newfic ]] && { continue }
|
|
[[ -e $newfic ]] && {
|
|
print -- "$newfic already exists!" >&2
|
|
continue
|
|
}
|
|
mv $fic $newfic
|
|
mdfic=${fic:r}.md
|
|
newmdfic=${newfic:r}.md
|
|
[[ -e $mdfic ]] && mv $mdfic $newmdfic
|
|
done
|
|
cd $scriptdir
|
|
done
|