跳转至

awk的一些例子

[root@~ ]# cat host_warn.txt  | head -n 3
node2961-zwlt.haha.com
node2961-zwlt.haha.com
node2996-zwlt.haha.com
node2255-zwlt.haha.com

[root@~ ]# cat host_belong.txt  | head -n 10
node2961-zwlt.haha.com 长江
node2962-zwlt.haha.com 黄河

使用 awk

awk 'NR==FNR {owner[$1]=$2; next} {print $0, owner[$1] ? owner[$1] : "未知"}' host_belong.txt host_warn.txt > host_warn_with_owner.txt
- NR==FNR:表示处理第一个文件 host_belong.txt 时,存储主机名和归属人到 owner 数组中。 - 处理 host_warin 时,查询 owner 数组,如果找到了归属人就输出,否则标记为 "未知"