linux下rename命令的用法——適合大批量修改文件名

linuxrename命令的用法——適合大批量修改文件名

在看鳥哥私房菜的時候,遇到了mv這個可以修改文件名的命令。後面還有一個命令,叫rename。鳥哥讓自己man幫助查詢。結果自己一看,發現這個命令居然可以批量的修改文件名。

首先,看下man幫助裏面的說明:
 For example, given the files
             foo1, ..., foo9, foo10, ..., foo278,  thecommands

             rename foo foo0 foo?
             rename foo foo0 foo??

      will turn them into foo001, ..., foo009, foo010, ..., foo278.

      And
             rename .htm .html *.htm

      will fix the extension of your html files.


man
幫助裏給我們舉了兩個例子,什麼意思呢,就是利用renamefoo foo0 foo? 類似這種命令,可以批量修改foo1foo2foo3這種有規律的文件名。rename的一共有三個參數,第一個參數是要修改的部分,第二個參數是修改成什麼的部分,第三個是修改哪些文件。

還是要做實驗,說的比較繞。
我們先在目錄下建六個文件好了,分別是foo1foo2, foo11foo22foo111foo222

[root@centos-01test]# ls
foo1 foo11 foo111 foo2 foo22 foo222


現在我什麼目的呢,就是要把foo後面不夠三位的,前面用0代替,比如foo1修改成爲foo001foo22修改成爲foo022foo111foo222不變。

那我們該怎麼做呢,首先,我用這個命令:rename foo foo0 foo?

?是通配符,代表一個字符,也就是我會把名字爲foo?這些文件的foo部分修改成爲foo0。大家想想會有什麼變化。

[root@centos-01test]# rename foo foo0 foo?

[root@centos-01test]# ls

foo01 foo02 foo11 foo111 foo22 foo222


看到了嗎,foo?就代表四個字符,並且含有foo的文件。我們用命令把foo修改成爲了foo0,所以纔會有這樣的效果。接下來我們再使用這個命令:rename foo foo0 foo??

[root@centos-01test]# rename foo foo0 foo??

[root@centos-01test]# ls

foo001 foo002 foo011 foo022 foo111 foo222


看到了吧,foo??這種五個字符的都會被修改。看到這裏大家就會發現,rename這個命令,一是掌握結構,而是學會用通配符。

下面,我們換幾個通配符試驗。*代表任意字符

[root@centos-01test]# ls

foo001 foo002 foo011 foo022 foo111 foo222

[root@centos-01test]# rename foo ofo *

[root@centos-01test]# ls

ofo001 ofo002 ofo011 ofo022 ofo111 ofo222

[root@centos-01test]# rename ofo ccc ofo*1

[root@centos-01test]# ls

ccc001 ccc011 ccc111 ofo002 ofo022 ofo222

[root@centos-01test]# rename 1 c ccc*

[root@centos-01test]# ls

ccc00c ccc0c1 cccc11 ofo002 ofo022 ofo222 //大家注意到,是從第一個出現1的時候更換的



比如我們還可以修改結尾文件名相似的。

[root@centos-01bobo]# ls

1.htm 2.htm 3.htm 4.htm 5.mmm

[root@centos-01bobo]# rename .htm .html *.htm

[root@centos-01bobo]# ls

1.html 2.html 3.html 4.html 5.mmm

[root@centos-01bobo]# rename .html @html *.html

[root@centos-01bobo]# ls

1@html 2@html 3@html 4@html 5.mmm


怎麼樣,是不是這個命令挺強大的。不過,大批量的創建和修改文件還是用腳本比較快速和靈活。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章