Chinaunix首页 | 论坛 | 博客
  • 博客访问: 708143
  • 博文数量: 112
  • 博客积分: 3889
  • 博客等级: 少校
  • 技术积分: 1448
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-19 16:35
个人简介

追求卓越,成功就会在不经意间追上你

文章分类

全部博文(112)

文章存档

2015年(1)

2014年(2)

2013年(1)

2012年(16)

2011年(86)

2010年(6)

分类: LINUX

2011-05-06 10:33:28

grep:UNIX/LINUX系统中使用最广泛的命令之一,它对文本进行模式查找。它有三种变形分别为grep--标准grep命令,egrep--扩展grep,支持基本及扩展的正则表达式,fgrep--快速grep.

grep的一般格式为:
grep [选项] 基本正则表达式 [文件]

grep命令选项:
-c 只输出行的计数
-i 不区分大小写,只适用于单字符
-h 查询多文件时不显示文件名
-H 显示文件名
-l 查询多文件时只输出包含匹配字符的文件名
-n 显示匹配行及行号
-s 不显示不存在或无匹配文本的错误信息
-v 显示不包含匹配文本的所有行

grep命令举例:
e.g 1:在find.txt文件中查找包含e.g的行
[fedora@novice Desktop]$ grep "e\.g" find.txt
e.g1:默认当前路径
e.g2:指定路径为当前路径,结果与e.g 1 完全一样。
e.g 3:查找以大写字母开头的所有文件
......
e.g 18:

e.g 2:统计find文本中包含e.g的行数
[fedora@novice Desktop]$ grep -c "e\.g" find.txt
18

e.g 3:使用-n选项,显示匹配的行及行号
[fedora@novice Desktop]$ grep -n "e\.g" find.txt
32:e.g1:默认当前路径
46:e.g2:指定路径为当前路径,结果与e.g 1 完全一样。
60:e.g 3:查找以大写字母开头的所有文件
......
196:e.g 18:

e.g 4:使用-v选项过滤掉有b的行
[fedora@novice Desktop]$ cat > test.txt
aaaa
bbbb
ddddd
ddddd
gggg
bnc
ukij
cm #,终止输入
[fedora@novice Desktop]$ grep -v "b" test.txt
aaaa
ddddd
ddddd
gggg
ukij
cm

e.g 5:从日志文件中查找在9:30--9:39时间段内产生的日志文件。
[root@novice ~]# grep "09:3[0-9]" /var/log/messages
May  5 18:09:38 novice pulseaudio[1989]: ratelimit.c: 77 events suppressed
May  6 09:30:01 novice dhclient[1399]: DHCPREQUEST on eth0 to 192.168.1.1 port 67
May  6 09:30:01 novice dhclient[1399]: DHCPACK from 192.168.1.1
May  6 09:30:01 novice dhclient[1399]: bound to 192.168.1.103 -- renewal in 3056 seconds.
May  6 09:30:01 novice NetworkManager[1217]: (eth0): DHCPv4 state changed bound -> renew
......

grep命令类名:
     类         等价的正则表达式
  [[:upper:]]    [A-Z]         
  [[:alnum:]]    [0-9a-zA-Z]    
  [[:lower:]]    [a-z]           
  [[:space:]]    空格或tab键      
  [[:digit:]]    [0-9]           
  [[:alpha:]]    [a-zA-Z]       

e.g 6:在test.txt中查找包含以4打头的三位数的行
[fedora@novice Desktop]$ ls -al >test.txt
[fedora@novice Desktop]$ grep "4[[:digit:]][[:digit:]]" test.txt
total 384096
drwxr-xr-x.  5 fedora fedora      4096 May  6 09:55 .
drwx------. 36 fedora fedora      4096 May  6 09:41 ..
drwxrwxr-x   3 fedora fedora      4096 May  2 14:51 bash shell image
-rwxrwxrwx   1 fedora fedora   3943491 May  3 01:36 ChinaUnix_Shell.CHM
drwxrwxr-x   2 fedora fedora      4096 May  2 20:28 DB
-rwxrwxrwx   1 fedora fedora 241577230 Feb 11 21:28 [Linux服务器配置全程实录].张勤,杨章明.扫描版.pdf
-rwxrwxrwx   1 fedora fedora 147540535 Mar 22 11:46 LINUX系统管理技术手册(第2版).pdf
drwxrwxr-x   2 fedora fedora      4096 May  2 11:59 SHELL

**更多的匹配模式请参照正则表达式的相关内容。

阅读(726) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~