概要
前回、less コマンドについて記事を書きました。
ついでなので、業務系でよく使うTipsもメモ。
今の世の中、当たり前のように utf-8 な世界なのですが、未だに sjis とか euc-jp なファイルってのはよくあります。
んで、何故か知りませんが、OSはUTF-8のロケールにしてるのにログファイルとかを sjis or euc-jp で出力していたりする謎の世界もたまにあったります。。。
そういうときに、そのまま
$ nkf -g nanikano-log-file.log EUC-JP $ less -X nanikano-log-file.log
とかすると、
$ nkf -g nanikano-log-file.log EUC-JP $ less -X nanikano-log-file.log "hello.txt" may be a binary file. See it anyway?
less さんが「これバイナリじゃね?そのまま開いてええの?」って聞いてきますw
いいよーって y
押すと、当然
$ nkf -g nanikano-log-file.log EUC-JP $ less -X nanikano-log-file.log "hello.txt" may be a binary file. See it anyway? ����ˤ������� �ۤ��ۤ��� �ϥ�������
って悲惨なことになります。
そんなときにちょっと使えるTipsです。
LESSOPEN環境変数を設定する
less コマンドは、開く際に LESSOPEN
という環境変数を見てくれます。
ここに、以下のように nkf にパイプするように設定します。
$ export LESSOPEN='| nkf -w %s' $ less nanikano-log-file.log
もしくは、コマンド実行時に直接指定
$ LESSOPEN='| nkf -w %s' less -X nanikano-log-file.log
とすると、
$ LESSOPEN='| nkf -w %s' less -X nanikano-log-file.log こんにちわ世界 ほげほげー ハローワールド
ってちゃんと表示されます。ちなみに -X
オプションは less コマンド終了時に画面をクリアするなってオプションです。これを指定しておくと、less で表示していた部分が終了しても画面に残ります。
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場