linux 中 [^] 正则表达式,匹配不在中括号内的任意一个字符。

 

[^] :匹配不在中括号内的任意一个字符。

中括号内可以是一个字符组或字符范围; 

1[^01]能够匹配 12 和 13,但是不匹配 11 和 10;A[^0-9]匹配 A 以及随后除数字外的任意单个字符。

 

awk正则测试:

[root@pc1 test]# ls
a.txt
[root@pc1 test]# cat a.txt
ab1 kk
abce j
abj kk
ab35 uy
abr56 jh
[root@pc1 test]# awk '$1 ~ /ab[0-9]/' a.txt     ## 输出第一列中匹配ab + 数字的行
ab1 kk
ab35 uy
[root@pc1 test]# awk '$1 ~ /ab[^0-9]/' a.txt    ## 输出第一列中匹配ab + 非数字的行
abce j
abj kk
abr56 jh
[root@pc1 test]# awk '$1 ~ /ab[^1]/' a.txt      ## 输出第一列中匹配ab和不为1的行
abce j
abj kk
ab35 uy
abr56 jh
[root@pc1 test]# awk '$1 ~ /ab[^a-z]/' a.txt    ## 输出第一列中匹配ab和不为字母的行
ab1 kk
ab35 uy

 

posted @ 2023-01-05 16:11  小鲨鱼2018  阅读(656)  评论(0编辑  收藏  举报