AWK
一直想好好了解一下awk的,不过以前总感觉看的资料太深了,找到两篇浅显易懂的:
[1] http://blog.csdn.net/andyxm/article/details/5964071
[2] http://blog.csdn.net/wklken/article/details/6555694
0. 基本语法
awk '/search_key_word/ {print $1}'
//中的字符用来作为搜索行的依据,{}中的语句表示满足条件后需要执行的语句。
用单引号把awk后的语句包裹起来防止被bash解析,其中的$1是指awk中将一行分割后产生的单元字符串,并不是当前bash环境中的变量。
有时候需要根据当前bash中的环境变量来拼装命令,此时就不能用单引号了,但是为了防止awk语句中的awk变量被当做bash变量需要加个反斜杠
awk "/$key_word/ {print \$1}"
1. 一些简单的例子
1.1 获取hostname对应的IP
MYIP=$(cat /etc/hosts|awk "/$(hostname)/ {print \$1;}")
根据hostname来从/etc/hosts中获取配置的ip,当然也可以从ifconfig里读