怎么用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
。。。
而且要适用于删除所有后缀名称的,谢谢解答~ 展开
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
。。。
而且要适用于删除所有后缀名称的,谢谢解答~ 展开
3个回答
展开全部
可以试一下:
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 !
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 !
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#! /usr/bin/perl -w
open(IN,"<old.txt");
while(<IN>) {
print $_; ###这是原始的
if($_ =~ /(.*)\.(.*)/) {
print "$1\n";###点之前的
print "$2\n";###点之后的,\n是换行.
}
}
具体问题具体分析咯~~~
open(IN,"<old.txt");
while(<IN>) {
print $_; ###这是原始的
if($_ =~ /(.*)\.(.*)/) {
print "$1\n";###点之前的
print "$2\n";###点之后的,\n是换行.
}
}
具体问题具体分析咯~~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
perl -pne 's/[^\d\s]+//g' old.txt > new.txt 就可以了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询