Linux查找文件内容的常用命令方法

来源:岁月联盟 编辑:exp 时间:2012-04-06
 #> find . -type f  -exec grep 'mingtian'  -l {} /;grep -l :是显示匹配的内容的文件名字!上面得find 参数 -type 后面链接文件类型, -name '*.c' 连接文件名    -exec 执行一个程序。 或者:#> find . -type f -name "*.*" |xargs grep 'xiaoshou' -l(这个方法 不好,挺乱的,还慢,推荐前一个方法!) 1、从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名 2、从文件内容查找与正则表达式匹配的行: $ grep –e “正则表达式” 文件名  www.2cto.com   3、查找时不区分大小写: $ grep –i "被查找的字符串" 文件名 4、查找匹配的行数: $ grep -c "被查找的字符串" 文件名 5、从文件内容查找不匹配指定字符串的行: $ grep –v "被查找的字符串" 文件名 6、从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行 find / -type f -name "*.log" | xargs grep "ERROR"  www.2cto.com   7、例子 :查找/SqLogs/access.log文件中包含".exe" 或者"TCP_DENIED"的记录 方法1:grep /SqLogs/access.log –e ".exe”        grep /SqLogs/access.log –e "TCP_DENIED” 方法2:find /SqLogs –type f –name access.log | xargs grep ".exe"        find /SqLogs –type f –name access.log | xargs grep "TCP_DENIED" 因为公司是通过SQUID代理服务器共享上网的,有时候因为某些原因,新版本的应用程序或者财务报税软件会无法使用,所以只有查看 access.log文件,查找原因!由于LOG文件太大了,虽然每天都执行压缩重建LOG文件,但几十M的LOG文件里的内容太多,直接打开查看再查找很浪费时间,也很麻烦!之前用 tail –n 100 /SqLogs/access.log命令找起来也很麻烦,上面的两个命令帮了我很大的忙,很短的时间就可以帮我找到问题所在!分享给大家!   作者 zhuizhuziwo