質問

AwkでUTF8以外のエンコーディングのファイルを正しく読み取るにはどうすればよいですか?

Hebrew / Windows-1255エンコーディングのファイルがあります。 簡単な{print $ 0} awkは�のようなものを印刷します。 どうすれば正しく読むことができますか?

役に立ちましたか?

解決

awk自体は、異なるエンコーディングの処理をサポートしていません。環境で指定されたロケールを受け入れますが、最善の策は、入力をawkに渡す前に適切なエンコーディングにトランスコードすることです。

-fは変換元のフォーマット、-tはターゲットフォーマット、-cはiconvの操作を途中で終了させる無効な文字をスキップします。もちろん、-helpで詳細を確認できます。

iconv -c -f cp1255 -t utf8 somefile | awk ...
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top