免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2190 | 回复: 10
打印 上一主题 下一主题

shell 下的报表打问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-27 12:08 |只看该作者 |倒序浏览
我生成了一个文件FILE.1内容如下:
aa=123456789
bb=2222222
name=刘德华
aa=66666666
bb=77777777
name=张学友
aa=44444444
bb=55555555
name=刘欢
...
...
...
我想在打印机上输出如下格式:
+---------------------------------------------------------------+
|   aa                 |               bb              |       name     |
+---------------------------------------------------------------+
|123456789      |    2222222               | 刘德华           |
+---------------------------------------------------------------+
|666666666      |    777777777           | 张学友           |
+---------------------------------------------------------------+
|444444444      |    555555555           | 刘欢              |
+---------------------------------------------------------------+
|      .........         |           ......                |    .......          |
+---------------------------------------------------------------+
请大虾指点一下,在shell下如何实现...急...

论坛徽章:
0
2 [报告]
发表于 2004-03-27 12:36 |只看该作者

shell 下的报表打问题?

  1. cat file | xargs -n 3 | awk 'BEGIN{print"+----------------+\n|aa|bb|name|\n+---------------+"}{a[NR]=substr($1,4);b[NR]=substr($2,4);name[NR]=substr($3,6)}END{ for(i=1;i<=NR;i++)print a[i],"|",b[i],"|",name[i],"|\n+--------------------------+"}'
复制代码

我在redhat9上试过的,其它系统不知道。

论坛徽章:
0
3 [报告]
发表于 2004-03-28 14:53 |只看该作者

shell 下的报表打问题?

用AWK得行

论坛徽章:
0
4 [报告]
发表于 2004-03-29 08:41 |只看该作者

shell 下的报表打问题?

awk版的
  1. awk -F= '{x=x"|"$2;if($1=="name"){printf("+------------------------+\n%s|\n",x);x=y}}END{print "+------------------------+"}' file
复制代码

论坛徽章:
0
5 [报告]
发表于 2004-03-29 13:38 |只看该作者

shell 下的报表打问题?

多谢大家指导,我这就去试试。。。

论坛徽章:
0
6 [报告]
发表于 2004-03-29 14:45 |只看该作者

shell 下的报表打问题?

labrun
我试过你写的代码,可经实现,但如每个变量长度不一样,如何在表中对齐,还有变量中如有空格就无法正常输出了,还请大虾指点。。。

论坛徽章:
0
7 [报告]
发表于 2004-03-30 15:31 |只看该作者

shell 下的报表打问题?

把print改为printf:
printf("%5s %5s %5s %5s %5s %5s\n",a,"|",b,"|",name,"|\n+--------------------------+"

论坛徽章:
0
8 [报告]
发表于 2004-03-31 14:29 |只看该作者

shell 下的报表打问题?

谢了,我已实现,不知您有关于SHEKK和AWK方面的学习资料如有可以给我一份吗?在下感谢万分!!!!!!



E-MAIL: wangnb@tom.com

论坛徽章:
0
9 [报告]
发表于 2004-04-08 14:49 |只看该作者

shell 下的报表打问题?

labrun 你好,我又有事请教。
   我使用你的代码经过修改,在终端上打印出了不错的报表可是还一个问题我无法解决,可能是我对AWK 太莫生了,我改了N次都不行,请高手救我。。。
问题:文件记录太多时出现了无法分页,我想在每打印30条记录之后,就重新加入报表表名打印,我在代码里打入FOR(。。。)循环,可是不行,我想我对(NR BEGIN END )还没理解。可以给我写一段吗?在此小弟万分感谢!!!!!!

论坛徽章:
0
10 [报告]
发表于 2004-04-08 14:51 |只看该作者

shell 下的报表打问题?

labrun 你好,我又有事请教。
我使用你的代码经过修改,在终端上打印出了不错的报表可是还一个问题我无法解决,可能是我对AWK 太莫生了,我改了N次都不行,请高手救我。。。
问题:文件记录太多时出现了无法分页,我想在每打印30条记录之后,就重新加入报表表名打印,我在代码里打入FOR(。。。)循环,可是不行,我想我对(NR BEGIN END )还没理解。可以给我写一段吗?在此小弟万分感谢!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP