^

grep "^abc" (正则配合grep使用最好加引号)

过滤以abc开头的

$

grep "abc$"

过滤以abc结尾的

^$

grep "^abc$"

过滤以abc开头以abc结尾的

[](两边不要留空格)

[a-z] [A-Z] [0-9] [a-d,e-g]

[0-9]*匹配任意长度数字字符串

[a-z]*匹配任意长度字母字符串

匹配一个a到z之间的字母

[^]

grep "[^rot]"

匹配非rot字母

.

grep "a..b"

匹配以a开头以b结尾的四个字符 如ao/b aoob

*

grep "a.*b"

匹配以a开头以b结尾的字符,中间字符可以存在多个或者不存在

如aabb ab abcf

.*$

grep "a.*bc$"

开头为a,结尾为bc的行

grep "a.*bb.*c$"

开头为a,中间有bb,结尾有c的行

\{n,m\}

grep "ro\{2,5\}t"

匹配前一个字符o,2到5次

\{n,\}

grep "ro\{2,\}t"

匹配前一个字符o,2到无限次

\{n\}

grep "ro\{2\}t"

匹配前一个字符,必须是两次

\(\)

grep "\(0:\)\{2\}"

匹配0:并且连续出现两次,如dx0:0:80

#判断一个数是不是输出的正整数
#!/bin/bash
read -p  "请输入一个数:" n
echo "$n" |  grep  -q "[^0-9]"    #-q不打印任何内容,只以退出状态指示0或1
if [ $? -eq 0 ] 
then
echo  "请输入正整数"
else
echo ok
fi 
echo  253  |  grep  "25[1-5]"
echo 255 |  grep "2[1-5][0-9]"