日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

linux如何給文件改名 linux如何改文件名

>要用單個命令重命名一組文件,請使用 rename 命令 。它需要使用正則表達(dá)式,并且可以在開始前告訴你會有什么更改 。
— Sandra Henry-stocker(作者)
幾十年來,Linux 用戶一直使用 mv 命令重命名文件 。它很簡單,并且能做到你要做的 。但有時你需要重命名一大組文件 。在這種情況下,rename 命令可以使這個任務(wù)更容易 。它只需要一些正則表達(dá)式的技巧 。
與 mv 命令不同,rename 不允許你簡單地指定舊名稱和新名稱 。相反,它使用類似于 Perl 中的正則表達(dá)式 。在下面的例子中,s 指定我們將第一個字符串替換為第二個字符串(舊的),從而將 this.new 變?yōu)?this.old 。
$ rename \'s/new/old/\' this.new$ ls this*this.old使用 mv this.new this.old 可以更容易地進(jìn)行更改一個,但是將字符串 this 變成通配符 *,你可以用一條命令將所有的 *.new 文件重命名為 *.old:
$ ls *.newreport.new schedule.new stats.new this.new$ rename \'s/new/old/\' *.new$ ls *.oldreport.old schedule.old stats.old this.old正如你所料,rename 命令不限于更改文件擴(kuò)展名 。如果你需要將名為 report.* 的文件更改為 review.*,那么可以使用以下命令做到:
$ rename \'s/report/review/\' *正則表達(dá)式中的字符串可以更改文件名的任何部分,無論是文件名還是擴(kuò)展名 。
$ rename \'s/123/124/\' *$ ls *124*status.124 report124.txt如果你在 rename 命令中添加 -v 選項,那么該命令將提供一些反饋,以便你可以看到所做的更改,或許會包含你沒注意的 。這讓你注意到并按需還原更改 。
$ rename -v \'s/123/124/\' *status.123 renamed as status.124report123.txt renamed as report124.txt另一方面,使用 -n(或 –nono)選項會使 rename 命令告訴你將要做的但不會實際做的更改 。這可以讓你免于執(zhí)行不不想要的操作,然后再還原更改 。
$ rename -n \'s/old/save/\' *rename(logger.man-old, logger.man-save)rename(lyrics.txt-old, lyrics.txt-save)rename(olderfile-, saveerfile-)rename(oldfile, savefile)rename(review.old, review.save)rename(schedule.old, schedule.save)rename(stats.old, stats.save)rename(this.old, this.save)如果你對這些更改滿意,那么就可以運(yùn)行不帶 -n 選項的命令來更改文件名 。
但請注意,正則表達(dá)式中的 . 不會被視為句點(diǎn),而是作為匹配任何字符的通配符 。上面和下面的示例中的一些更改可能不是輸入命令的人希望的 。
$ rename -n \'s/.old/.save/\' *rename(logger.man-old, logger.man.save)rename(lyrics.txt-old, lyrics.txt.save)rename(review.old, review.save)rename(schedule.old, schedule.save)rename(stats.old, stats.save)rename(this.old, this.save)為確保句點(diǎn)按照字面意思執(zhí)行,請在它的前面加一個反斜杠 。這將使其不被解釋為通配符并匹配任何字符 。請注意,進(jìn)行此更改時,僅選擇了 .old 文件 。
$ rename -n \'s/.old/.save/\' *rename(review.old, review.save)rename(schedule.old, schedule.save)rename(stats.old, stats.save)rename(this.old, this.save)下面的命令會將文件名中的所有大寫字母更改為小寫,除了使用 -n 選項來確保我們在命令執(zhí)行之前檢查將做的修改 。注意在正則表達(dá)式中使用了 y,這是改變大小寫所必需的 。
$ rename -n \'y/A-Z/a-z/\' W*rename(WARNING_SIGN.pdf, warning_sign.pdf)rename(Will_Gardner_buttons.pdf, will_gardner_buttons.pdf)rename(Wingding_Invites.pdf, wingding_invites.pdf)rename(WOW-buttons.pdf, wow-buttons.pdf)

推薦閱讀