Unixで行を列に設定する方法

Unixで行を列に設定する方法

Unixで行を列に設定する方法の例:

name : Keshav
sub  : C++
branch: cse
DOB  :22/09/1990
company:NONE

name : Vijay
sub  : Java
branch: cse
DOB  :22/09/1985
company:NONE

私は次の出力が欲しい:

name     sub   branch  DOB           company
Keshav   C++   cse     22/09/1990    NONE
Vijay    Java  cse     22/09/1990    NONE

答え1

別の方法:

awk 'BEGIN{FS=":|\n";RS=""}NR==1{print $1,$3,$5,$7,$9}{print $2,$4,$6,$8,$10}'

答え2

ヘッダーを手動で配置し、awkファイルに対して次のコマンドを実行する必要があります。

awk -F: '{count++; printf("%s ",$2); if (count>5){count=0; printf("\n");}}' x.txt >> res.txt

x.txtこのファイルには、ユーザーが持っている入力が含まれており、次のヘッダーがある準備済みファイルであるres.txtと想定されます。

name sub branch DOB company

結果の出力は次のとおりです。

name  sub  branch  DOB  company
 Keshav  C++  cse 22/09/1990 NONE
 Vijay  Java  cse 22/09/1985 NONE

関連情報