基础正则表达式
^word 待查找的字符串在行首 word$ 待查找的字符串在行尾 . 一定有一个任意字符的字符 * 重复零个到无穷多个的前一个字符 [list] 从字符集合里找出想要选择的字符 [n1-n2] 字符范围 [^list] 不要的字符或范围 {n,m} 连续n到m个前一个RE字符,若为{n}则是连续n个的前一个RE字符 若为{n,}则是连续n个以上的前一个RE字符 -------------------------------------------------------------------------------------------------------------------------------------- ^有两重意思 1.反向字符 2.行首 例如:grep -n '^[^a-zA-Z]' yi.txt ^在[]内表示“反向选择”,在[]外表示定位在行首 $行尾 windows的断行字符(^M$),Linux为($)
查找空白行 grep -n '^$' me.txt 要想空白行和以#开头的都不显示 grep -v '^$' me.txt | grep -v '^#' -------------------------------------------------------------------------------------------------------------------------------------- 以g开头以g结尾 grep -n 'g.*g' me.txt “.*” 代表零个或多个任意字符
当我们需要两个o以上的字符时,就需要ooo* ,因为*代表零个或多个前一个字符
g后面接2到5个o,然后再接一个g的字符串 grep -n 'go{2,5}g' me.txt g后面接2个以上o,然后再接一个g的字符串 grep -n 'go{2,}' me.txt
记住:正则表达式的特殊字符与一般在命令行输入命令的“通配符”并不相同 例如,在通配符当中的*代表的是零到无限多个字符,正则表达式中则是重复0到无穷多个的前一个字符的意思 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |