Chinaunix首页 | 论坛 | 博客
  • 博客访问: 310677
  • 博文数量: 94
  • 博客积分: 2220
  • 博客等级: 大尉
  • 技术积分: 975
  • 用 户 组: 普通用户
  • 注册时间: 2004-12-17 21:17
文章分类

全部博文(94)

文章存档

2011年(5)

2010年(11)

2009年(1)

2008年(2)

2006年(1)

2005年(65)

2004年(9)

我的朋友

分类:

2005-08-24 22:15:14

将文件的 行 变成 列 的代码

将文件的 行 变成 列 的代码

1.shell 清單

#!/bin/sh -x

#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<=col;i++)

{ for(j=1;j<=row;j++)

 printf("%s ",a[j"-"i]);printf(" ") } }' $1

2.使用範本

[root@dbtest02 root]# cat datafile.txt

a a a a a a a a a a

b b b b b b b b b b

c c c c c c c c c c

d d d d d d d d d d

e e e e e e e e e e

f f f f f f f f f f

g g g g g g g g g g

[root@dbtest02 root]# sh rorate.sh datafile.txt

a b c d e f g

a b c d e f g

a b c d e f g

a b c d e f g

a b c d e f g

a b c d e f g

a b c d e f g

a b c d e f g

a b c d e f g

a b c d e f g

[root@dbtest02 root]#

阅读(983) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~