トップへ
grep で日本語検索
* 2009.03.03 Tuesday
* 19:50
ファイルサーバに保管したwindowsのメールの中身を
日本語で検索して抽出したい。
windowsメール、hogehoge.emlはISO-2022-JPだったので、
grep "ほげほげ" でマッチできない。
でこんな感じでスクリプト作ってみた。
[tomo@cel Sent Items]$ cat -n //home/tomo/bin/nkfgrep
1 #!/bin/sh
2 for filename in *
3 do
4 filetmp="$filename.utf.tmp"
5 nkf -w -Lu $filename > "$filetmp"
6 grep $1 -l $filetmp
7 #cat `grep -l $1 $filetmp`
8 done
9 rm *.tmp
----------------------------------
1:シェル指定
2、3、8:forループで全ファイル順次読み込む
4:テンプファイル名指定
5:文字コードをUTF-8にして改行コードをLFに変換
6:マッチしたファイル名表示
7:マッチしたファイル内容表示(コメントアウト)
9:テンプファイル削除
----------------------------------
nkfが無い場合は
yum -y install nkf
でインストールが必要
----------------------------------
使い方:
$nkfgrep "ほげほげ"
ファイルサーバなんでwindowsの検索機能を使ったほうが
はるかに便利ですがそれはそれという事で、、
リモートで入ってコマンド打つ方が見つけるのは早いです。