Convirtiendo un fichero de texto a HTML con sed

He descargado una novela en texto plano, que quería transformar a HTML para poder mostrar imágenes in situ y cambiar algunos estilos (tipo de fuente y márgenes).
El fichero de texto, en japonés, tiene estas peculiaridades:
- Codificado en SHIFT-JIS.
- Saltos de línea en formato Windows
- Cada salto de línea es un párrafo.
- Las imágenes aparecen tal que así:
[#(img/01_017.jpg)入る]
- El furigana (lectura de los kanjis) aparece entre los caracteres《》
Mis cambios son
- Codificación de caracteres a utf-8
- Saltos de línea a formato Unix
- Envolver cada línea en un párrafo HTML (<p>)
- Envolver los nombres de ficheros de imagen en imágenes HTML (<img>).
- Eliminar el furigana (porque utilizo la extensión Yomiwa para leer).
- Tipo de fuente serif, tamaño grande, márgenes en el body.
…y éste es el script que me ha salido:
#!/bin/sh
substituted=$(\
iconv -cf SHIFT-JIS -t UTF-8 "$1" |\
sed -re 's/\r//' \
-re 's_^(.*)$_<p>\1</p>_' \
-re 's_<p>[#((.*))入る]</p>_<img src="\1">_' \
-re 's/《.*》//'
)
final="\
<!DOCTYPE html>
<html>
<head>
<title>$1</title>
<meta charset="UTF-8">
<style>
body {
margin: 2em;
font-size: large;
font-family:
Cambria, Georgia, 'Times New Roman', Times,
'游明朝', YuMincho,
'ヒラギノ明朝 ProN W3' , 'Hiragino Mincho ProN',
'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro',
'HG明朝E',
'MS P明朝', 'MS PMincho',
'Noto Serif CJK JP',
serif
}
</style>
</head>
<body>
$substituted
</body>
</html>
"
echo "$final"
Un ejemplo de uso:
./convertir '(一般小説) [伏見つかさ] 俺の妹がこんなに可愛いわけがない 第01巻 (青空文庫対応txt 表紙・挿 絵付)(追加校正12-05-24).txt' > convertido.html
Por si el lector sacase conclusiones precipitadas… no hago esto por piratear. Esta novela está disponible en físico en amazon.co.jp y tanto en físico como en digital en bookwalker.jp. Desafortunadamente, la versión digital no permite seleccionar texto, así que no me sirve para aprender el idioma, pero aun así compraré si me ha gustado.