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


 
#> 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

相关内容

    暂无相关文章