日期:2014-05-16  浏览次数:20717 次

Linux下查找含有特定内容的文件

下边是find命令的用法:

?

$> find --help

用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

而我们正是利用这个命令来实现对含有特定内容文件的查找,比如我们要查找内容中含有benben的文件:

?

方法1:

$> find . -type f ?-exec grep 'benben' ?-l {} \;

grep -l :是显示匹配的内容的文件名字!

?

方法2:

$> find . -type f -name "*.*" |xargs grep 'benben' -l

第二个方法比第一个慢,而且不容易理解,强烈推荐第一个方法。

?

应用实例:

?

在Ubuntu下安装了ibus拼音输入法,用着很方便,而且还能记住用户自己输入的新词,我就想知道它究竟把这些新词存储在了什么地方,于是就有了下边这一出。

?

$> find . -type f ?-exec grep '锅开' ?-l {} \;

./.cache/ibus/pinyin/user-1.3.db

./.mozilla/firefox/n3vyvaqs.default/Cache/957713CFd01