41 lines
618 B
Bash
Executable File
41 lines
618 B
Bash
Executable File
#!/bin/sh
|
|
|
|
mkfilename() {
|
|
printf "%.4d-%s" "$1" "$2" | tr '# :.' '_'
|
|
printf ".txt"
|
|
}
|
|
|
|
mkunderline() {
|
|
i=$1
|
|
while [ $i -gt 1 ];
|
|
do
|
|
printf "%s" "$2"
|
|
i=$(($i - 1))
|
|
done
|
|
}
|
|
|
|
fname=""
|
|
snum=0
|
|
|
|
while IFS='
|
|
' read -r line;
|
|
do
|
|
case $line in
|
|
\#\#*)
|
|
titlelen="$(utf8expr length "$line")"
|
|
title="$(utf8expr substr "$line" 3 $titlelen)"
|
|
fname="$(mkfilename "$snum" "$title")"
|
|
snum=$((snum + 1))
|
|
printf "\n %s\n %s\n\n" \
|
|
"$title" "$(mkunderline $titlelen "=")" > $fname
|
|
;;
|
|
*)
|
|
[ -n "$fname" ] && \
|
|
printf " %s\n" "$line" \
|
|
| sed 's,\t, ,' \
|
|
| sed 's,\*,o,' >> $fname
|
|
;;
|
|
esac
|
|
done
|
|
|