通配符多用在文件名上,比如查找find,ls,cp等。
正则表达式用在文本过滤工具里,比如grep,awk,sed等。
一、通配符
- * 可以和零个或多个任意字符匹配
- ? 与任何单个字符匹配
二、正则表达式
正则表达式中的特殊字符比较多,以下仅列举一些:
- . 匹配任何单个字符
- $ 匹配行结束符
- ^ 匹配一行的开始
- * 匹配0或多个正好在它之前的那个字符
- \ 用来屏蔽特殊字符的含义
匹配操作符(~)
用来在记录或者域内匹配正则表达式。如$ awk '$1 ~/^root/' test将显示test文件第一列中以root开头的行。
!~表示不匹配
#netstat -t | grep '8013'
tcp 0 174 Tencent64:8013 Tencent64:59744 ESTABLISHED
tcp 0 0 Tencent64:59744 Tencent64:8013 ESTABLISHED
tcp 0 174 Tencent64:8013 10.129.145.114:40081 ESTABLISHED
netstat -t | grep '8013'|awk '{if($5!~/Tencent64:.*/) {print $0;}}'
tcp 0 174 Tencent64:8013 10.129.145.114:40081 ESTABLISHED