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

관련 정보