通配符与正则表达式的区别
通配符: 用来匹配查找文件名,如 *.txt *.log 以.txt .log结尾的文件 大部分命令都可以使用
正则表达式: 在文件中匹配查找的内容,比如文件中找到包含hello的行,常用于awk sed grep三剑客命令 ,有基础正则和扩展正则。
说出下面正则表达式符号的含义
^ $ ^$ .* [abc] ^[^abc] + () {} |
^ 以……开头的行
$ 以……结尾的行
^$ 表示空行,这一行中没有任何的符号
.* 表示任意内容,所有字符
[abc] 表示a或b或c字符
^[^abc] 表示不是以a或b或c字符开头的内容
+ 重复1一次或多次的字符
() 括号中的内容相当于是一个整体 后向引用(反向引用)
{} 例如 o{n,m} 前一个字符连续出现了至少n次,最多m次
| 或者
使用正则表达式取出网卡ip地址(至少3种方法)
ifconfig eth0|sed -n '2p'|sed -r 's#^.*inet (.*) netmask.*$#\1#g'
ifconfig eth0|awk -F '[ ]+' 'NR==2 {print $3}'
ifconfig eth0|sed -nr '2s#^.*inet (.*) netmask.*$#\1#gp'