lgrep
先に簡単にまとめておくと, 普通の grep コマンドだと日本語を検索できないってことを知って,
日本語を検索したければ, lgrep を使おうっていうことが分かったというメモ.
詳細ないきさつをば.
SKK 使ってて, 辞書に顔文字登録をしてみた.
「こなた」という語に対して, 「(=ω=.)」のように.
これを登録してふと思った.
ファイル .skk-jisyo に記録されてるんだろうと思うけど, どのように保存されてるのだろうって.
さっそく grep で検索してみたけどでない.
.skk-jisyo じゃないのかなあ, とか思って色々やってみてわかったのが,
日本語を検索してないってこと.
google 先生に尋ねてみたところ, lgrep というのを使ってみればよさそうというのが分かった.
以下が結果.
普通に grep で検索した場合と, lgrep を使った場合.
$ nkf .skk-jisyo | grep こなた $ nkf -e .skk-jisyo | grep こなた $ nkf .skk-jisyo | lgrep こなた $ nkf -e .skk-jisyo | lgrep こなた こなた /(=ω=.)/ にほんこなた /ニホン(=ω=.)/コナタ/ なんてこなたい /ナンテ/( =ω=.)\コナタイ/
やってから分かったけど, 別に nkf -e じゃなくて, 普通に cat で大丈夫だ.
nkf を使うなら, -e, -s, -w のどれを付けないと駄目っぽい.
cat でやった場合.
$ cat .skk-jisyo | lgrep こなた こなた /(=ω=.)/ にほんこなた /ニホン(=ω=.)/コナタ/ なんてこなたい /ナンテ/( =ω=.)\コナタイ/ $ cat .skk-jisyo | grep こなた
jgrep というのもあるらしいけど, 自分の環境にはなかったし, lgrep が使えたので, まあよしとするということで.
更新時刻
- 1かいめ 2007年, 5月26日, 6:50