とあるテキストファイルをラインエディットする処理があってawkでスクリプト組んでるんですけど、機能追加になる要望が現場から出てきて、実装にフト困ってしまいました。漢字な文字列で判定かまさないとイケナイのですけど、テキストはSiht_JIS、スクリプトはEUC-JP。いやこれスクリプトをShift_JISにしても動くのかな? みゅう‥‥。
結局、あとで文字列が変更になって動かないコトがでるのものイヤなので、バイナリで判定するようにしてしまいました(笑)。こんな感じ。
if($4=="\x89\x46\x92\x88\x8A\xE9\x89\xE6") { # hoge } else { # fuga }
それともどっかにエンコード変換のawk関数作ってる人とかいるのかなぁ?
#別解で事前にテキストごと変換してawk後に再変換ってテももちろんアリ。
あ、そこのキミ、バイナリを戻しちゃダメだ!(ぇー