Chinaunix
标题:
新手求助,批量修改文件的脚本出现问题
[打印本页]
作者:
qianyemlf
时间:
2014-07-24 09:52
标题:
新手求助,批量修改文件的脚本出现问题
本帖最后由 qianyemlf 于 2014-07-24 10:06 编辑
自己网上找的一个脚本,自己修改了一下,发现文件名并没有得到修改,求大神帮忙看看脚本哪里有问题
#!/usr/bin/perl
use strict;
use warnings;
opendir DIR, "I:/baicao/new_result" or die;
my @files = readdir DIR;
foreach my $file (@files)
{
print "$file\n";
my $newname=$file;
$newname=~s/7genes,7taxa//g;
rename $file,$newname;
}
print "done\n";
复制代码
作者:
q1208c
时间:
2014-07-24 10:01
问题呢?
作者:
qianyemlf
时间:
2014-07-24 10:04
脚本跑了但是没有达到实际效果,就是文件名并没有被改掉,不知道什么地方有问题
回复
2#
q1208c
作者:
q1208c
时间:
2014-07-24 10:20
回复
3#
qianyemlf
你确定知道你要改的文件名 是什么么?
可否贴几个原文件名上来看看?
作者:
qianyemlf
时间:
2014-07-24 10:23
回复
4#
q1208c
ORTHOMCL10631(7 genes,7 taxa)
ORTHOMCL10638(7 genes,7 taxa)
改成
ORTHOMCL10631
ORTHOMCL10638
就是把后面的去掉
复制代码
作者:
q1208c
时间:
2014-07-24 11:33
回复
5#
qianyemlf
那你自己看一下代码, 你的匹配根本不会成功.
作者:
qianyemlf
时间:
2014-07-24 13:05
本帖最后由 qianyemlf 于 2014-07-24 13:06 编辑
回复
6#
q1208c
#!/usr/bin/perl
use strict;
use warnings;
opendir DIR, "I:/baicao/new_result" or die;
my @files = readdir DIR;
foreach my $file (@files)
{
#print "$file\n";
my $newname=$file;
$newname=~s/\(.*\)//;
rename ("I:/baicao/new_result/$file", "I:/baicao/new_result/$newname");
print "$file\n";
}
print "done\n";
复制代码
这样改就ok了
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2