私は本の Kindle(HTML) および Open Office バージョンを管理している著者です。どちらか一方に変更を加えるのを忘れることがあり、ドキュメントが分岐しています。
私の手順は、それぞれからテキストをコピーし、UTF-8 で (TextEdit の貼り付けと一致スタイルを使用して) 別のテキスト ファイルに貼り付けてから、差分操作を実行することです。ただし、HTML を貼り付けると、段落間に空白行が追加されます。
ファイル差分ツールがありますが、空白行を無視するオプションがありません。私の考えは、空白行を削除する Perl スクリプトを作成することでした。ただし、そのスクリプトの出力は、ndashes、中引用符などの特殊文字を台無しにします。BINMODE やその他のトリックを使用してみましたが、役に立ちませんでした。
空白行を無視する MAC OS X 用のフリー コンパレータへのポインタ、または Perl で UTF-8 特殊文字を台無しにしないようにする方法を受け入れます。Perl 5.14 を使用しています。新しい機能に依存しない回答を好みますが、新しい Perl をインストールする必要がある場合はそうします。
アップデート:
これは動作しません:
use open IO => ":encoding(iso-8859-7)";
open(FILE, "From HTML.txt") or die "$!\n";
open(OUT, ">From HTML - no blank lines.txt") or die "$!\n";
while(<FILE>) {
next if /^\s*$/;
print OUT $_;
}
close FILE; close OUT;
私も電話してみたbinmode(OUT, ":utf8");
更新: 別の Stackoverflow の質問からこのヒントを成功させずに試しました:
open(my $fh, "<:encoding(UTF-8)", "filename");