怎么用perl读取txt文件里的所有数字并保存?

比如,我有一个old.txt的文件,每行是一个文件名,例如:0002.xml0004.xml0020.xml0022.xml0031.xml0043.xml0049.xm... 比如,我有一个old.txt的文件,每行是一个文件名,例如:
0002.xml
0004.xml
0020.xml
0022.xml
0031.xml
0043.xml
0049.xml
0073.xml
0074.xml
0082.xml
0088.xml
0089.xml
我需要用perl来读取,然后去除里面所有的后缀".xml",剩下数字就可以,然后自动保存。
需要的结果是:
0002
0004
0020
0022
0031
0043
0049
0073
0074
0082
0088
0089
。。。

而且要适用于删除所有后缀名称的,谢谢解答~
展开
 我来答
qfmeal
2009-08-30 · TA获得超过268个赞
知道小有建树答主
回答量:159
采纳率:0%
帮助的人:101万
展开全部
可以试一下:
perl -pne "s/\..+//" old.txt > new.txt
或者
perl -pne 's/(.+)\.(.+)/$1/' old.txt > new.txt
或者
perl -lne 'print((split /\./)[0])' old.txt > new.txt

方法很多。
All roads lead to Rome !
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhengliucheng
2009-08-28 · TA获得超过446个赞
知道小有建树答主
回答量:356
采纳率:0%
帮助的人:269万
展开全部
#! /usr/bin/perl -w

open(IN,"<old.txt");

while(<IN>) {

print $_; ###这是原始的

if($_ =~ /(.*)\.(.*)/) {

print "$1\n";###点之前的
print "$2\n";###点之后的,\n是换行.
}

}

具体问题具体分析咯~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yes___no
2009-09-01 · TA获得超过3153个赞
知道大有可为答主
回答量:1988
采纳率:100%
帮助的人:2028万
展开全部
perl -pne 's/[^\d\s]+//g' old.txt > new.txt 就可以了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式