grep命令的使用:
1、grep ‘^root’ passwd #匹配以root开头的行
2、grep ‘bash$’ passwd #匹配以bash结尾的行
3、grep ‘^root.*bash$’ passwd #匹配以root开头,以bash结尾的行,中间任意内容就好
4、grep ‘<root’ passwd #找到以root开头的单词
5、grep ‘<root>’ passwd #找到有root开头的行
6、grep “[[:space:]]+[[:space:]]” passwd #找出文件中,以至少一个空白字符开头且后面非空白字符的行
7、grep “<[a-z]*t>” passwd #匹配以t结尾的单词
8、grep -i “root” passwd #不区分大小写
9、grep -iw “root” passwd #严格匹配单词root
10、grep -iwo “root” passwd #只打印出匹配的结果
11、grep -niwo “root” passwd #打印行号
12、grep -niwA 1 “root” passwd #打印出匹配结果的之后一行
13、grep -niwB 1 “root” passwd #打印出匹配结果的之前一行
14、grep -niwC “root” passwd #打印出匹配结果的前后两行
15、grep -vniw “root” passwd #取反,打印除了root行以外所有行
16、grep -niwq “root” passwd #进入静默模式,匹配结果但不显示
17、grep “^([a-Z]+):.*\1$” /etc/passwd #匹配前后两个单词一样的行
18、grep ‘r+t’ passwd #匹配至少出现一次r的单词
19、grep ‘r*t’ passwd #匹配r出现0或多次t的单词
20、grep ‘r{1}t’ passwd #匹配出现一次r的t
21、grep ‘r?t’ passwd #匹配r出现0或1次的t
23、grep ‘r{2,3}t’ passwd #匹配出现两到三次r的t
23、grep ‘r{,2}t’ passwd #匹配出现最多两次r的t的单词
24、grep ‘r{2,}t’ passwd #匹配至少出现两次r的行
标注:echo $? -->指上一条命令的输出结果,成功为0,不成功显示为非0
正则:
(1)匹配次数
*:匹配前一个字符的任意次
?:匹配前一个字符0次或1次
+:匹配前一个字符至少一次
{n}:匹配前一个字符n次
{n,m}:匹配前一个字符n到m次
{n,}:匹配前一个字符至少n次
{,n}:匹配前一个字符最多n次
(2)匹配字符
. :表示任意一个字符
[ ] :指定的任意一个字符
[^] :指定范围之外的任意一个字符
位置锚定:
1、^ :行首锚定,用于模式最左侧
2、$ :行尾锚定,用于模式最右侧
3、^$ :空白行
4、 1*$ :空白行或包括空白字符的行
- [:space:] ↩︎