Linux-shell篇之grep命令

grep,egrep,fgrep

grep:根据模式搜索文本,并将符合模式的文本行显示出来
Pattern:文本字符和正则表达式的元字符组合而成匹配条件

grep [options] PATTERN [FILE…]
-i
–color
例子:grep --color ‘root’ /etc/passwd
例子:.bash_profile文件里面可以写入alias grep=‘grep --color’
-v:显示没有被模式匹配到的行
-o:只显示被模式匹配到的字符串

正则表达式:REGular EXPression,REGEXP
元字符:
.:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
字符集合:
[:digit:],[:lower:],[:upper:],[:punct:],[:space:],[:alpha:],[:alnum:]

匹配次数:
*:匹配其前面的字符任意次
.*:任意长度的任意字符
?:匹配其前面的字符1次或0次
例子:a,b,ab,aab,acb,adb,amnb
a*b
a.*b
a?b
{m,n}:匹配其前面的字符至少m次,至多n次
{1,}:至少一次
{0,3}:最多三次
例子:grep ‘a{1,3}b’ test.txt
例子:grep ‘a.{1,3}b’ test.txt

位置锚定:
^:锚定行首,此字符后面的任意内容必须出现在行首
$:锚定行尾,此字符前面的任意内容必须出现在行尾
例子:grep ‘b…h$’ /etc/passwd
^$:空白行
例子:grep ‘^$’ /etc/passwd|wc -l
<或\b:锚定词首,其后面的任意字符必须作为单词的首部出现
>或\b:锚定词尾,其前面的任意字符必须作为单词的尾部出现
例子:grep “root>” test.txt,匹配root结尾
例子:grep “<roo

猜你喜欢

转载自blog.csdn.net/yaoyujie157/article/details/102917802