Chinaunix首页 | 论坛 | 博客
  • 博客访问: 55822
  • 博文数量: 10
  • 博客积分: 415
  • 博客等级: 一等列兵
  • 技术积分: 93
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-12 15:34
个人简介

爱就一个字!

文章分类

全部博文(10)

文章存档

2012年(8)

2011年(2)

分类: LINUX

2012-04-04 00:00:49


#> 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 “正则表达式” 文件名

 

3、查找时不区分大小写:

$ grep –i "被查找的字符串" 文件名

 

4、查找匹配的行数:

$ grep -c "被查找的字符串" 文件名

 

5、从文件内容查找不匹配指定字符串的行:

$ grep –v "被查找的字符串" 文件名

 

6、从根目录开始查找所有扩展名为.log的文本文件,并找出包含”ERROR”的行

find / -type f -name "*.log" | xargs grep "ERROR"

 

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命令找起来也很麻烦,上面的两个命令帮了我很大的忙,很短的时间就可以帮我找到问题所在!分享给大家!
阅读(1783) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~