LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: battosai

awk 如何加入一个新域,合并表头呢?!

[复制链接]
发表于 2003-11-27 11:48:33 | 显示全部楼层
你的问题在CU上也有很多答案的呀~~;)
发表于 2003-11-27 16:29:31 | 显示全部楼层

俺提供一个答案,不知符合您的要求不??

脚本如下:
#!/bin/sh
filename=`ls file*`
printf "%-4s\t%-4s\t%-4s\t%-4s\n" "学校" "姓名" "班级" "成绩"
for class in $filename
do
   awk '{
       if(NR!=1){
            if(NR==2){
                 printf "%-4s\t",substr(FILENAME,5)
                 printf "%-4s\t%-4s\t%-4s\n",$1,$2,$3
            }else{
                 printf "%-4s\t%-4s\t%-4s\t%-4s\n"," ",$1,$2,$3
            }
       }
   }' $class
done


输出的结果:
学校    姓名    班级    成绩
0301    jone    3       78  
        mary    2       89  
        kely    3       84  
0305    bbee    1       34  
        erer    2       76  
        cvcv    4       90  
0702    jjyy    5       87  
        ppmm    1       69  
        rnlm    5       85  


这样的话不管你目录下有多少形如file1926的文件,
该脚本都可以处理,
班级名称就是文件名称"file"后续的多个数字。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表