回答:
ファイルはUTF-8ではなくISO-8859-1でエンコードされます。
$ hd 0606461.txt | grep -B1 '^0002c520'
0002c510 64 75 6d 20 66 65 72 69 65 6e 74 20 72 75 69 6e |dum ferient ruin|
0002c520 e6 0d 0a 2d 2d 48 6f 72 61 63 65 2e 0d 0a 0d 0a |...--Horace.....|
また、バイト「e6」だけでは有効なUTF-8シーケンスではありません。
したがって、使用しますiconv -f latin1 -t ascii//TRANSLIT file
。
リンクしたファイルは、HTMLドキュメント内でUTF-8のようです
$ file 0606461.txt
0606461.txt: HTML document, ASCII text, with CRLF line terminators
最初にHTMLからテキストへのコンバーターを介して実行する場合、例えば
iconv -f UTF-8 -t ascii//TRANSLIT < <(html2text 0606461.txt)
あなたが問題を抱えているように見えるUTF-8フラグメントは、エラーなしで音訳するようです。
Si fractus illabatur orbis.
Impavidum ferient ruinæ
--Horace.
になる
Si fractus illabatur orbis.
Impavidum ferient ruinae
--Horace.
html2text
ユーティリティは、システムにインストールすることはできません-あなたは見つけることができない場合は/ Pythonモジュールを含む他のコンバータがあり、それをインストールします。
file
コマンドはASCIIを言っていますが、理由はファイルの先頭を見るだけで、ISO-8859-1文字は181536の位置にあるためです。– vinc17 14
hexdump -C file
コマンドを試し0002b220 72 75 69 6e e6 0a 20 2d 2d 20 48 6f 72 61 63 65 |ruin.. -- Horace|
、出力として得ました。