分页: 2 / 2

Re: 如何批量重命名x.txt为00x.txt

发表于 : 2010-06-29 12:53
aerofox

代码: 全选

#!/bin/bash
shopt -s extglob
for f in ??(?).txt; do
    b=${f%.txt}
    n="00$b"
    n="${n:0-3}"    # 在原来的 basename ($b) 前加两个 0,再取末尾三个字符,作为新的 basename
    mv "$f" "$n.txt"
done

Re: 如何批量重命名x.txt为00x.txt

发表于 : 2010-06-29 14:01
trigger
楼上威武

Re: 如何批量重命名x.txt为00x.txt

发表于 : 2010-07-01 9:26
HuaChong
Jarson 写了:

代码: 全选

rename 's/^(\d\d\.txt)$/0$1/' *.txt
赞同这个

Re: 如何批量重命名x.txt为00x.txt

发表于 : 2010-07-01 11:09
nmsfan
不懂代码的围观代码帝~~~

Re: 如何批量重命名x.txt为00x.txt

发表于 : 2010-07-01 12:45
aerofox

代码: 全选

rename 's/(\d+)/sprintf("%03d",$1)/e' *.txt

Re: 如何批量重命名x.txt为00x.txt

发表于 : 2010-07-01 13:50
ChenFengyuan
rename 是无敌的
rename -v -e '$_=sprintf "%03d",$_' *

犀利的楼上,我这个错了,但是我不会删帖。。。。 :em06 :em06 :em06

Re: 如何批量重命名x.txt为00x.txt

发表于 : 2010-07-01 17:21
Jarson
aerofox 写了:

代码: 全选

rename 's/(\d+)/sprintf("%03d",$1)/e' *.txt
强悍,能不能解析一下最后的那个e是什么意思?

Re: 如何批量重命名x.txt为00x.txt

发表于 : 2010-07-01 17:59
eexpress
e 替换字符串作为表达式
没事,多看perl手册

Re: 如何批量重命名x.txt为00x.txt

发表于 : 2010-07-02 0:00
Jarson
eexpress 写了:e 替换字符串作为表达式
没事,多看perl手册
谢谢e婶 :em63

Re: 如何批量重命名x.txt为00x.txt

发表于 : 2010-07-10 12:44
cinvent
aerofox 写了:

代码: 全选

rename 's/(\d+)/sprintf("%03d",$1)/e' *.txt
这个代码果然强悍的很呀, :em05

Re: 如何批量重命名x.txt为00x.txt

发表于 : 2010-07-10 23:56
uboomla
如果用purrr图形化工具的话,直接重命名[c,,,3].[e],解决问题
看看这里http://www.zhaole.info/?p=672,希望能对你有帮助。

需要注意的是,像你这种情况,如果使用purrr,添加被重命名文件时,在添加文件对话框中,先对文件名排序,然后全选加入。

Re: 如何批量重命名x.txt为00x.txt

发表于 : 2010-07-11 0:08
bjsm
谁的代码短,谁就是代码帝,这里不考虑CPU占用,内存泄漏等灵异问题,谁短谁强,诸位代码师比比,E神也露一手,不要老是在旁边坏笑。