Outra abordagem:
awk 'BEGIN{FS=":|\n";RS=""}NR==1{print $1,$3,$5,$7,$9}{print $2,$4,$6,$8,$10}'
Como posso definir uma linha como coluna no Unix. Exemplo:
name : Keshav
sub : C++
branch: cse
DOB :22/09/1990
company:NONE
name : Vijay
sub : Java
branch: cse
DOB :22/09/1985
company:NONE
Eu quero uma saída assim:
name sub branch DOB company
Keshav C++ cse 22/09/1990 NONE
Vijay Java cse 22/09/1990 NONE
Outra abordagem:
awk 'BEGIN{FS=":|\n";RS=""}NR==1{print $1,$3,$5,$7,$9}{print $2,$4,$6,$8,$10}'
Você pode querer colocar o cabeçalho manualmente e executar o seguinte awk
no arquivo:
awk -F: '{count++; printf("%s ",$2); if (count>5){count=0; printf("\n");}}' x.txt >> res.txt
Supondo que x.txt
contenha as entradas como você e res.txt
seja um arquivo preparado com os cabeçalhos da seguinte forma:
name sub branch DOB company
A saída resultante será:
name sub branch DOB company
Keshav C++ cse 22/09/1990 NONE
Vijay Java cse 22/09/1985 NONE
Tags text-processing shell