免费注册 查看新帖 |

Chinaunix

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

format显示问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-04 16:48 |只看该作者 |倒序浏览
我有35个文件,每个文件里面有一个数值.

我需要把文件名称和文件里面的数值按照下面的要求呈现出来(格式对齐),假设数值和文件名称的序号相同
==========================
name01 name02 ... name10   
1          2      ...  10            
name11  name12 ...  name18  
  11             12   ...     18
name19  name20  ...  name28
19            20      ...    28
name29 name30 ... name35
29            30    ...   35
==========================



我现在遇到的问题是:我只取得第一个name1和对应的数值1是没问题的.  name2和2无法写如入format列里面.
所有文件在同一路径下.

请各位帮助解决

[ 本帖最后由 slk3411 于 2009-8-4 16:53 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-08-05 10:55 |只看该作者
这个问题太简单还是其他原因,给个思路也好啊  谢谢

论坛徽章:
0
3 [报告]
发表于 2009-08-05 15:10 |只看该作者

回复 #1 slk3411 的帖子

什么叫“ name2和2无法写如入format列”, 这个format列是构造的一个数据结构?
LZ是卡在哪步?不会格式化输出,还是整个没思路?

论坛徽章:
0
4 [报告]
发表于 2009-08-05 22:29 |只看该作者
举例说明如下:               /etc/paswd 的内容我就不贴了
more testformat.pl
#!/usr/bin/perl
$username;
$realname;
format OUTFILE =
===========================================
| @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< |
"username:".$username
| @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< |
"realname:".$realname
====================================
.
open PASS,"/etc/passwd" or die "Can't.";
open OUTFILE,">format.log" or die "Can't.";
while(<PASS>){
        chomp;
        my @items = split(/:/);
        $username = $items[0];
        $realname = $items[4];
        write (OUTFILE);
}



执行结果为:

===========================================
| username:root                    |
| realname:root                    |
====================================
===========================================
| username:bin                     |
| realname:bin                     |
====================================
...

而我想要的结果是把 bin呈现在root的后面,即如下格式:
======================================================================================
| username:root                    || username:bin                    |
| realname:root                    || realname:bin                    |
========================================================================


应该算是没整个思路,主要卡在如何把bin放到第二列里面.    请高手明示该如何做到

[ 本帖最后由 slk3411 于 2009-8-5 22:34 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-08-06 10:00 |只看该作者
原帖由 slk3411 于 2009-8-5 22:29 发表
举例说明如下:               /etc/paswd 的内容我就不贴了



执行结果为:

===========================================
| username:root                    |
| realname:root                    ...



用两个数组分别保存读入的username和realname
每读入10行,进行一次格式化输出
或者在读完/etc/passwd后,再进行输出也行

论坛徽章:
0
6 [报告]
发表于 2009-08-08 09:40 |只看该作者
做一个
===========================================
| @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< |  @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< |
"username:".$username1                                         "username" $username2         
| @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< | @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< |
"realname:".$realname1                                             "realname:".$realname2
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP