Main Page | 最近更改 | 編輯本頁 | 頁面歷史

可列印版 | 免責聲明 | 隱私政策

未登入
登入 | 幫助
 

rename

出自DebianWiki

rename 是包含於 DebianPackages:perl 中的一個指令,你可以透過這個指令使用正規表示法來快速的改變多個檔案的檔名。

例如,將檔名全部改為小寫

$ ls
BAR.c  FOOBAR.c  FOO.c
$ rename -v 'y/A-Z/a-z/' *.c
BAR.c renamed as bar.c
FOOBAR.c renamed as foobar.c
FOO.c renamed as foo.c
$ ls
bar.c  foobar.c  foo.c

將檔名改為 .bak

$ ls
bar.c  foobar.c  foo.c
$ rename -v 's/$/.bak/' *.c
bar.c renamed as bar.c.bak
foobar.c renamed as foobar.c.bak
foo.c renamed as foo.c.bak
$ ls
bar.c.bak  foobar.c.bak  foo.c.bak

更改檔名開頭與結尾 例:abc* 改為 def* 及 *xyz 改為 *uvw

$ ls
abc01.xyz abc02.xyz abc03.xyz
$ rename 's/abc/def/' abc*
$ls
def01.xyz def02.xyz def03.xyz
$ rename 's/xyz/uvw/' *xyz
$ls
def01.uvw def02.uvw def03.uvw

rename 's/abc/def/' abc* 中 "s"表字串,"abc"為原來的名稱,"def"為改完的名稱,"abc*"表要改的檔名為abc開頭 rename 's/xyz/uvw/' *xyz 中 "*xyz"表要改的檔名為xyz結尾

如果有非常多檔案位於不同的目錄,可以搭配 find 使用

$ ls
bar.c.bak  foobar.c.bak  foo.c.bak
$ find . -type f -name \*.bak -exec rename -v 's/\.bak$//' {} \;
./foo.c.bak renamed as ./foo.c
./bar.c.bak renamed as ./bar.c
./foobar.c.bak renamed as ./foobar.c
$ ls
bar.c  foobar.c  foo.c

取自"http://wiki.debian.org.tw/index.php/rename"

本頁面已經被瀏覽5,301次。 這頁的最後修訂在 2007年3月29日 (星期四) 16:00。 本站的全部文本內容在GNU Free Documentation License 1.2之條款下提供。


[Main Page]
Main Page
社區
近期活動
最近更改
隨機頁面
幫助
贊助

編輯本頁
討論本頁
頁面歷史
鏈入頁面
鏈出更改

特殊頁面
錯誤報告