cat rotate
#!/bin/sh
#ScriptName:rotate
[ $# -ne 1 ] && exit 1
if [ ! -s $1 ]
then
        echo "Usage:rotate datafile"
        exit 1
fi
row=`sed -n '$=' $1`
col=`awk 'NR==1{print NF}' $1`
awk -v row=$row -v col=$col '{for(i=1;i<=NF;i++)a[NR"-"i]=$i} END{ for(i=1;i<=co
l;i++){ for(j=1;j<=row;j++) printf("%s ",a[j"-"i]);printf("\n") } }' $1

# cat file
中 中 中 中 中
华 华 华 华 华
人 人 人 人 人
民 民 民 民 民
共 共 共 共 共
和 和 和 和 和
国 国 国 国 国
# rotate file
中 华 人 民 共 和 国
中 华 人 民 共 和 国
中 华 人 民 共 和 国
中 华 人 民 共 和 国
中 华 人 民 共 和 国