awk处理文本字段(添加域)

发布时间:2020-02-03编辑:脚本学堂
awk处理文本字段(添加域)

有这样的一段文本:
database1|error|security|summary
database1|info|vio|summary
database1|error|deep|summary

想要用linuxjishu/13830.html target=_blank class=infotextkey>awk处理成下面这样:
SECURITY|database1|error|security|summary
VIO|database1|info|vio|summary
AIX_DEEP|database1|error|deep|summary

添加的第一个字段虽然和第三个字段很像,但却不是....
看代码吧,一行命令实现:
 

复制代码 代码如下:
awk -vFS="|"‘BEGIN{key[security]="SECURITY";key[vio]="VIO";key[deep]="AIX_DEEP"}{print key[$3]"|"$0}’datafile

说明:定义了一个关联数组,将所有的key和value添加到一个数组中,并以第三个字段作为下标。