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'

関連情報