日本語でサブディレクトリを含めてgrep
最初、
grep -sl ~/Mail -r "日本語"
としたら漢字コードが違うので見つからなかった。次に、
find ~/Mail -type f -exec 'nkf -e {} | grep -l "日本語"'
としたら、'nkf -e {} | grep -l "日本語"'の部分が1個のコマンドとして渡されてしまうようでエラーになる。xargsでも同様。findの-execにパイプを含むコマンドを渡すのってどうやるんだろう?最終的には、次のコマンドでうまくいった。
for f in `find ~/Mail -type f`; do nkf -e $f | grep -l "日本語" > /dev/null && echo $f; done
もはやコマンドというよりプログラムだ。