揮発性のメモ2

http://d.hatena.ne.jp/iww/

grepでファイルシステムをまたがずに検索する

普通に / からgrepで全ファイル検索しようとすると、/sysや/procまでたどるので困る。
なので、同一ファイルシステム内だけで検索したい
(findなら -xdevが、cpなら -x がある)


unix.stackexchange.com

find / -xdev -type f -print0 | xargs -0 grep -I -H "hogehoge"
find オプション
-xdev ファイルシステムを跨がない
-print0 空白区切りでなく \0 区切りで出力する*1
xargs オプション
-0 空白区切りでなく \0 区切りで入力する
grep オプション
-I バイナリファイルは無視
-H 出力結果にファイル名を常に出す

何十年もみんな求めてる機能だし そろそろ実装されてもいい頃合いなんだけど、なかなか実装されないな

*1:ファイル名にスペースを使うアホが居ても困らないように