通配符与正则表达式的区别

通配符: 用来匹配查找文件名,如 *.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'