rows to columns

Hi Friends,

I have a input file as below. how to convert rows to columns?

Friday:recharge 3861140 
Monday:recharge 4036228 
Saturday:recharge 3996376 
Sunday:recharge 3777749 
Thursday:recharge 3858537 
Tuesday:recharge 4047045 
Wednesday:recharge 3954798 

desinred output

Sunday  Monday  Tuesday Wednesday Thursday Friday Saturday
3777749  4036228  4047045  3954798  3858537  3861140  3996376

Try:

awk -F"[ :]" '{a=a" "$1;b=b" "$3}END{print a"\n"b}' file

looks a little complicated, but hope it can work for you:

for i in `cal |awk 'NR==2'`
do
awk -F"[: ]" '/'$i'/{print $1"\n"$3}' inputfile
done |
awk '{NR%2?line1=line1" "$1:line2=line2" "$1}END{print line1"\n"line2}' |
column -t
 
Sunday   Monday   Tuesday  Wednesday  Thursday  Friday   Saturday
3777749  4036228  4047045  3954798    3858537   3861140  3996376

Could this help you ?

 awk -F"[: ]" 'BEGIN{a[1]="Sunday"
a[2]="Monday"
a[3]="Tuesday"
a[4]="Wednesday"
a[5]="Thursday"
a[6]="Friday"
a[7]="Saturday";for(p=1;p<=7;p++){printf a[p]" "}printf "\n"}
{b[$1NR]=$3;} END {for(k=1;k<=(NR/7);k++){for(i=1;i<=7;i++){for(j=1;j<=NR;j++){if(b[aj]) {printf  b[aj]" ";delete b[aj];break}}}printf "\n";}}' INPUTFILE