lgrepでand検索


lgrepはオプションがlvのままでgrepの大事なオプション-l -Hが使えない。
単ファイルの時は通常のgrepと同じ動き
複数ファイルの時 grep -Hと同じ動き

ということはgrepのand検索である以下が使えない。

$ find .  -exec grep -l "記者" \{}  \; | xargs grep -H "貴社"
./1.euc.txt:汽車で帰社した貴社の記者

しょうがないので現在の着陸手段

$ find . -exec lgrep "貴社" \{} /dev/null \; | sed "s/:.*$//" | xargs lgrep "記者"
./1.sjis.txt:汽車で帰社した貴社の記者
./1.euc.txt:汽車で帰社した貴社の記者
./1.utf.txt:汽車で帰社した貴社の記者
./1.jis.txt:汽車で帰社した貴社の記者

/dev/nullは複数ファイルにする為の着陸手段。