【求助】Perl 读取 TXT文件内容后进行相关操作

TableAIDPhoneSexNameBook113900maleJackroseandgun213800femaleAnnipeace313950malenaruta... Table A

ID Phone Sex Name Book
1 13900 male Jack rose and gun
2 13800 female Anni peace
3 13950 male narutayo folower
4 25800 male babyface Light

Table B
ID Phone Sex Name Book age
1 13900 male Jack rose and gun 35
2 13800 female Jack1 peace 50
3 13950 male Jack2 flower 45
4 25800 male Jack3 Light 19

如上表,需要读表A(txt)后,查询男性的借书情况(需要在命令行上显示出来)
读表B,查询年龄介于30到50岁之间男性的结束情况,要求输出名字,电话,书名。
其实我忘了说。不能用什么功能模块之类的。
展开
 我来答
speed0424
推荐于2016-07-13 · TA获得超过881个赞
知道小有建树答主
回答量:1056
采纳率:0%
帮助的人:297万
展开全部
根据你的说明情况,我写了以下代码,经测试完全符合你的要求:
第一个TXT,执行 perl pipei.pl table_a
#!/usr/bin/perl -w
#pipei.pl
use strict;

print "ID Phone Sex Name Book\n";

while(<>)
{
if(/.* male .*/)
{
print "$_";
}
}

第二个TXT,执行 perl pipei2.pl table_b
#!/usr/bin/perl -w
#pipei2.pl

use strict;

print "Name\tPhone\tBook\t\n";

while (<>)
{
if(/.*\s+(\d+)\s+male\s+(\S+)\s+(.*)\s+(\d+)$/)
{
print "$2\t$1\t$3\n" if($4>=30 && $4<=50)
}
}

参考资料: 原创

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ba_du_co
2010-10-22 · TA获得超过937个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:274万
展开全部
根据你的需要,我写了以下代码,经测试发现完全符合:

第1个文件操作:

单行执行-

perl -nle 'print if /\smale/;' TableA.txt

或者执行脚本-

perl findmale.pl TableA.txt

脚本代码
-----------------
#!/usr/bin/perl
#findmale.pl

print grep /\smale/,<>;

------------------

输出:
1 13900 male Jack rose and gun
3 13950 male narutayo folower
4 25800 male babyface Light

显示出男性的借书情况:符合
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式