可以使用若干符号配合某工具对字符串进行
grep ^root user //找以root开头的行
grep bash$ user //找以bash结尾的行
grep "[root]" user //找r、o、t任意一个字符
grep "[^rot]" user //显示r或o或t以外的内容
grep "[0-9]" user //找所有数字
grep "r..t" user //找rt之间有2个任意字符的行
grep "ro*t" user //找rt,中间的o有没有都行,有几次都行
grep ".*" user //找任意,包括空行
grep "ro\{2,6\}t" user //找rt,中间的o可以有2~6个
grep "ro\{1,\}t" user //找rt,中间的o可以有1个以及1个以上
grep "ro\{3\}t" user //找rt,中间的o必须只有有3个
\w匹配数字、字母、下划线
egrep "roo\w" user //找roo后面是数字、字母、下划线的字符串
\s 匹配空格、tab键
egrep "roo\s" user //找roo后面是1个空格或tab键打出来的空格的字符串,没有就不输出
\d 匹配数字,和[0-9]等效 需要-P支持
grep -P "(25[0-5]\.|2[0-4]\d\.|1?\d?\d\.){3}(25[0-5]|2[0-4]\d|1?\d?\d)" //匹配ip地址
扩展正则需要grep -E 或egrep //支持
grep "ro\{1,\}t" user可以改成 grep -E "ro{1,}t" user
egrep "ro{1,}t" user //使用扩展正则,效果同上,比较精简
egrep "ro+t" user //使用扩展正则,效果同上,最精简
grep "roo\{0,1\}t" user //使用基本正则找第二个o出现0~1次
egrep "roo{0,1}t" user //使用扩展正则,效果同上,比较精简
egrep "roo?t" user //使用扩展正则,效果同上,最精简
egrep "(0:){2}" user //找连续的2个0: 小括号的作用是将字符组合为一个整体
egrep "root|bin" user //找有root或者bin的行
egrep "the\b" abc.txt //在abc.txt文件中找the,右边不允许出
现数字、字母、下划线
egrep "\bthe\b" abc.txt //两边都不允许出现数字、字母、下划线
egrep "\<the\>" abc.txt //效果同上