如何在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

相关内容