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