Linux 使用awk命令输出内容添加标题的方法

本文主要介绍Linux中,使用awk命令输出信息时,增加标题header的方法,以及相关示例命令。

示例命令:

awk -F ',|,,' '{gsub(/"/,"",$1); gsub(/"/,"",$2); gsub(/"/,"",$3); print $1, $2, $3}' file.csv

输出内容:

10.8.70.67  wireless    UTY_07_ISD
10.8.70.69  wireless    RGB_34_FTR

使用如下命令增加标题:

awk -F, 'NR==1 {print "IP","DEVICETYPE","DEVICENAME"} 
{gsub(/"/,"");
print $1,$2,$4}' file | column -t

输出结果:

IP          DEVICETYPE  DEVICENAME
10.8.70.67 wireless UTY_07_ISD
10.8.70.69 wireless RGB_34_FTR

参考文档:

awk -v FPAT='([^,]*)|("[^"]+")' '    ##设置FPAT只得到匹配的字段仅为([^,]*)|("[^"]+")
BEGIN{                               ##从这里开始这个程序的BEGIN部分。
  print "IP          DEVICETYPE  DEVICENAME" ##输出标题header
}
function remove(fields){             ##在这里创建名为remove的函数,从需要删除的地方传递字段编号
  num=split(fields,arr,",")          ##在这里将字段拆分为arr.
  for(i=1;i<=num;i++){               ##遍历arr的所有项。
    gsub(/^"|"$/,"",$arr[i])         ##在这里用NULL全局替换提到的字段中的starting和ending。
  }
}
{
  remove("1,2,4")                    ##在这里调用remove,其中字段编号为1、2和4,这是需要的每个输出。
  print $1,$2,$4                     ##在这里打印第1、2和4个字段。
}
' Input_file                         ##输出的文件名

推荐阅读
cjavapy编程之路首页