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