日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 文件重命名_如何在 Linux 上重命名一组文件 | Linux 中国

發布時間:2023/12/10 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 文件重命名_如何在 Linux 上重命名一组文件 | Linux 中国 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
要用單個命令重命名一組文件,請使用 rename 命令。它需要使用正則表達式,并且可以在開始前告訴你會有什么更改。-- Sandra Henry-stocker

幾十年來,Linux 用戶一直使用?mv?命令重命名文件。它很簡單,并且能做到你要做的。但有時你需要重命名一大組文件。在這種情況下,rename?命令可以使這個任務更容易。它只需要一些正則表達式的技巧。

與?mv?命令不同,rename?不允許你簡單地指定舊名稱和新名稱。相反,它使用類似于 Perl 中的正則表達式。在下面的例子中,s?指定我們將第一個字符串替換為第二個字符串(舊的),從而將?this.new?變為?this.old。

$ rename 's/new/old/' this.new$ ls this*this.old

使用?mv this.new this.old?可以更容易地進行更改一個,但是將字符串?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?命令不限于更改文件擴展名。如果你需要將名為?report.*?的文件更改為?review.*,那么可以使用以下命令做到:

$ rename 's/report/review/' *

正則表達式中的字符串可以更改文件名的任何部分,無論是文件名還是擴展名。

$ 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?命令告訴你將要做的但不會實際做的更改。這可以讓你免于執行不不想要的操作,然后再還原更改。

$ 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)

如果你對這些更改滿意,那么就可以運行不帶?-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)

為確保句點按照字面意思執行,請在它的前面加一個反斜杠。這將使其不被解釋為通配符并匹配任何字符。請注意,進行此更改時,僅選擇了?.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?選項來確保我們在命令執行之前檢查將做的修改。注意在正則表達式中使用了?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)

在上面的例子中,我們將所有大寫字母更改為了小寫,但這僅對以大寫字母?W?開頭的文件名。

總結

當你需要重命名大量文件時,rename?命令非常有用。請注意不要做比預期更多的更改。請記住,-n(或者?--nono)選項可以幫助你避免耗時的錯誤。


via:?https://www.networkworld.com/article/3433865/how-to-rename-a-group-of-files-on-linux.html

作者:Sandra Henry-Stocker?選題:lujun9972?譯者:geekpi?校對:wxy

本文由?LCTT?原創編譯,Linux中國?榮譽推出

?:還在看嗎?

總結

以上是生活随笔為你收集整理的linux 文件重命名_如何在 Linux 上重命名一组文件 | Linux 中国的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。