@zhaikun
2015-11-24T15:46:21.000000Z
字数 2707
阅读 970
命令总结
grep:根据模式搜索文本,并符合模式的文本显示出来
pattern:文本字符和正则表达式组合成匹配
[root@yunweibutest001 ~]# grep 'popt' --color ./install.log
Installing popt-1.10.2.3-27.el5.x86_64
Installing popt-1.10.2.3-27.el5.i386
-i 表示忽略大小写
--color 高亮显示匹配字符串
-v 显示没有被匹配的字符串
-o 只显示被动模式匹配到的字符串
[root@yunweibutest001 ~]# grep 'popt' -o ./install.log
popt
popt
*:表示任意长度的任意字符
?:任意单个字符
[]:匹配指定范围内的任意单个字符
[:digit:] [:lower:] [:upper:] [:punct:] [:alpha:] [:alnum:]
数字 小写字母 大写字母 标点符号 所有字母 所有字符和字母
元字符
.:表示任意单个字符
[root@yunweibutest001 ~]# grep 'p..t' ./install.log
Installing popt-1.10.2.3-27.el5.x86_64
Installing psutils-1.17-26.1.x86_64
Installing iptstate-1.4-2.el5.x86_64
Installing popt-1.10.2.3-27.el5.i386
Installing kpartx-0.4.7-48.el5.x86_64
Installing gphoto2-2.2.0-3.el5.x86_64
Installing tmpwatch-2.9.7-1.1.el5.5.x86_64
Installing parted-1.8.1-29.el5.x86_64
Installing portmap-4.0-65.2.2.1.x86_64
Installing pygtk2-2.10.1-12.el5.x86_64
Installing pygtk2-libglade-2.10.1-12.el5.x86_64
Installing parted-1.8.1-29.el5.i386
Installing 1:yum-updatesd-0.9-2.el5.noarch
Installing gnome-python2-applet-2.16.0-3.el5.x86_64
Installing 1:gnome-applets-2.16.0.1-19.el5.x86_64
1、*:匹配当前字符的任意次
a,b,ab,aab,acb,adb,amnb
a*b
只能匹配a,b,aab其他都不可以找到
2、.*:组合起来表示任意长度和任意字符
a.*b表示a开头,b结尾的任意长度任意字符的匹配项
3、?:匹配其前面的字符1次或0次
\{m,n\}:匹配起前面的字符,表示最少几次,最多几次
\{1,\}
\{0,3\}
^:锚定行首 此字符后面的任意内容出现在行首
$:锚定行尾 此字符后面的任意内容出现在行后
^$: 空白行
[root@yunweibutest001 ~]# grep 'w$' /etc/inittab
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
以W结束的行
[root@yunweibutest001 ~]# grep 'b..h$' /etc/passwd
root:x:0:0:root:/root:/bin/bash
zhaik:x:501:502::/home/zhaik:/bin/bash
111:x:60001:60001::/home/111:/bin/bash
mysql:x:502:503::/home/mysql:/bin/bash
nagios:x:503:504::/home/nagios:/bin/bash
apache:x:504:506::/home/apache:/bin/bash
ftpvirtuser:x:505:507::/home/ftp:/bin/bash
^$空白行例子
[root@yunweibutest001 ~]# grep '^$' /etc/inittab
[root@yunweibutest001 ~]#
以数字结尾的行
[root@yunweibutest001 ~]# grep '[[:digit:]]$' /etc/inittab
# 5 - X11
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
# Run xdm in runlevel 5
以数字结尾的前面是空格列出来
[root@yunweibutest001 ~]# grep '[[:space:]][[:digit:]]$' /etc/inittab
l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6
# Run xdm in runlevel 5\
\<或者\b:其后面的任意字符必须作为单词的首部出现
[root@yunweibutest001 ~]# grep "root\>" test1.txt
This is root.
The user is mroot
chroot is a command
mroot is not a wrod
\>或者\b:其前面的任意字符必须作为单词的尾部出现
[root@yunweibutest001 ~]# grep "\<root" test1.txt
This is root.
rooter is a dog's name
\(\)
\(ab\)* 以ab为组