24小时热门版块排行榜    

查看: 1490  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

astringent

铜虫 (著名写手)

[求助] 批量文件改名

在一个文件夹下有30个文件,名字如下:2.zmat,5.zmat,8.zmat....一直到89.zmat。我想把他们重命名为:1.zmat,2.zmat,3.zmat....30.zmat。请问如何实现啊
另外我想所有文件头加入数字20,也就是20为第一行,原来的第一行变成第二行?用什么命令啊?
要是用一个命令怎么实现上面的想法,另外用两个命令呢?

先谢了
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

christina1213

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
astringent: 金币+5 2012-10-29 17:29:22
这里是一个简单的重命名的脚本,你改一下,应该就可以用了。另外,要在文本中加内容,可以改这个脚本加一些内容,也可以另写一个,很快就好了!

#################################################
#
#Perl脚本:重命名文件名称
#
#################################################

#!/usr/bin/perl
use strict;
use warnings;

my $filename;

#打开要重命名文件所在的文件夹
#my $dir ='C:\Users\Haminy\Desktop\chen';
#my $dir ='/home/chenjun/c1_c2/work_file';
my $dir ='/home/chenjun/c1_c2';

opendir (DIR, $dir);                                                        #打开一个目录
my @dir = readdir DIR;                                                        #把文件名存入一个数组
#my $filenum = @dir;                                                                #读取数组元素个数,得知文件个数

foreach $filename (@dir) {
        #print $filename."\n";
        if ($filename=~m/(^\d+)-120611_I232_FCC0U0KACXX_L6_CSZPE012051239\d_(\d).fq/) {
                #print $1."\n".$2."\n";
                system("mv ./$filename ./H$1.fq_$2";

        }
       
}

closedir(DIR);
7楼2012-10-28 10:36:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

安德

铁杆木虫 (著名写手)

** *_** ___ ***_ * _*

这个有意义,关注一下!
That'sit! Justdoit!
2楼2012-10-27 09:48:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gongxd325

至尊木虫 (文坛精英)

【答案】应助回帖

感谢参与,应助指数 +1
BatchFileRenamer 可以实现批量改文件名,文件名中加固定字符。网上一搜就能找到。
一个人做点好事并不难难的是一辈子做好事!!!
3楼2012-10-27 09:54:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

liuhuisfp

金虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
astringent: 金币+15, ★★★★★最佳答案 2012-10-29 17:29:00
#!/bin/env python2                                                                                                                                                                                                                             
                                                                                                                                                                                                                                               
import os                                                                                                                                                                                                                                      
                                                                                                                                                                                                                                               
for src, dest in zip(range(2, 90, 3), range(1, 31)):
    # rename file                                                                                                                                                                                                                                                                                                                                                                                
    os.popen("mv {0}.zmat {1}.zmat".format(src, dest))                                                                                                                                                                                         
    # insert "20" into the file
    os.popen("""sed -i '1 i "20"' {0}.zmat""".format(dest))

rename.py(248B)
http://kuai.xunlei.com/d/GHDATJHEROCN?p=130497

# run the script in your dir
python download_py_script
4楼2012-10-27 10:41:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见