一、正则表达式
a、基本正则表达式
元字符 | 描述 | .匹配任意单个字符*匹配其前面的字符任意次.*任意长度的任意字符[]匹配指定范围内的任意单个字符[^]匹配指定范围外的任意单个字符[:lower:]小写字母[:upper:]大写字母[:alpha:]所有字母[:digit:]数字[:alnum:]所有数字和字母[:punct:]标点符号[:space:]空白字符\?匹配其前面的字符1次或0次{m,n}匹配其前面的字符至少m次,至多n次^铆定行首,此字符后面的任意内容必须出现在行首$铆定行尾,此字符前面的任意内容必须出现在行尾^$表示空白行\<或\b铆定词首,其后面的任意字符必须作为单词的首部出现\>或\b铆定词尾,其前面的任意字符必须作为单词的尾部出现()分组(ab)*ab作为一个整体,可以出现任意次(ab).*\1引用第一个左括号以及与之对应的右括号所包括的所有内容(ab).*\2引用第二个左括号以及与之对应的右括号所包括的所有内容
b、扩展整个表达式
. | 匹配任意单个字符 | []匹配指定范围内的任意单个字符[^]匹配指定范围外的任意单个字符*匹配其前字符任意次?匹配其前字符0次或1次+匹配其前字符至少1次,类似于基本正则表达式{1,}{m,n}匹配其前面的字符至少m次,至多n次^行首$行尾\<或\b词首\>或\b词尾
c、实例
cp一份/etc/passwd文件到/tmp
#查找特定的关键字grep -n "ntp" /tmp/passwd #对查找结果进行取反grep -vn "ntp" /tmp/passwd #利用[]查找集合字符 grep -n "p[ou]" /tmp/passwd #利用^取反 grep -n "p[^o]" /tmp/passwd