如何为 awk 语句中指定的字段指定标题?

如何为 awk 语句中指定的字段指定标题?

下面的代码是我的awk语句...我需要the headings for the each fields在输出中指定姓名、年龄和电话号码...如何在 awk 语句中给出标题...我该怎么做..

awk -v OFS='\t' '{ print $1, $2, $9 }' > "abc.txt"

期望的输出:

 name              age          phone_number
  rat               26             5662200
  cat               25             562212

答案1

在您最初的问题中,您询问了如何添加列标题。答案是使用以下BEGIN条件:

awk -v OFS='\t' 'BEGIN { print "name", "age", "phone_number"} { print $1, $2, $9 }' > "abc.txt"

在您的编辑中,您询问了如何在视觉上对齐列。这可以通过使用column -t

$ awk -v OFS='\t' 'BEGIN { print "name", "age", "phone_number"} { print $1, $2, $9 }'|column -t > "abc.txt"

答案2

I have done this by below awk and sed command

awk 'OFS="\t"{print $1,$2,$9}' filename | sed '1i name\t age\t phonenumber\t'

相关内容