テキストをスクリプトに渡す前にテキストを処理する方法は? (またはUTF8 MuttメッセージをPDFに印刷する方法は?)

テキストをスクリプトに渡す前にテキストを処理する方法は? (またはUTF8 MuttメッセージをPDFに印刷する方法は?)

enscript文字エンコーディングの問題を解決するためにMuttを使用し、二重引用符を使用してPDFを印刷しようとしています。したがって、電子メールの内容は次のようになります。

“very dirty”    
we’re 

次のようになります。

â\200\234very dirtyâ\200\235
weâ\200\231re

私の印刷スクリプトは現在次のとおりです。

#!/usr/bin/env sh
INPUT="$1" PDIR="$HOME/Desktop" OPEN_PDF=evince



tmpfile="`mktemp $PDIR/mutt_XXXXXXXX.pdf`"
enscript --font=Courier8 $INPUT -2r --word-wrap --fancy-header=mutt -p - 2>/dev/null | ps2pdf - $tmpfile
$OPEN_PDF $tmpfile >/dev/null 2>&1 &
sleep 1
rm $tmpfile

送信する前に二重引用符を変更する方法はありますかenscript?それとも、引用符を処理するために使用できる文字エンコーディングはありますか?

MuttからPDFに印刷する別の(より良い?)方法がある場合、私はすべて耳を傾けます。私の見積もりが混乱していないことを確認してください。

ベストアンサー1

明らかにenscriptUTF-8ファイルはサポートされていません

おそらくあなたが望むのは、sed引用符がenscriptに入る前に引用符を変更することです。

これはクールな引用を標準"の合計に変更します'。変換後は再び戻すことはできません。これを行うには、enscript 行の上に次の行を挿入します。

sed -i "s/[”“]/\"/g; s/[‘’]/'/g" $tmpfile

テキストを別のエンコーディングに変換することもできますが、iconvそのプログラムについてはわかりません。調べてみる価値があるかもしれません。

おすすめ記事