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