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里读

原文地址:https://www.cnblogs.com/lailailai/p/3906791.html