在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用mv和rename命令重命名文件

CHANBAEK ? 來源:myfreax ? 作者:myfreax ? 2023-01-17 17:43 ? 次閱讀

重命名文件和目錄是您經常需要在Linux系統上執行的最基本任務之一。 重命名單個文件很簡單,但一次重命名多個文件可能是一個挑戰。

特別是對于剛接觸Linux的用戶而言。 您可以使用GUI文件管理器或命令行終端重命名文件。

mv命令重命名文件

mv命令用于將文件從一個位置重命名或移動到另一個位置。 這是mv命令的基本語法mv [OPTIONS] source destination

source源可以是一個或多個文件或目錄,destination目標可以是單個文件或目錄。

如果指定多個文件作為源source,則destination目標必須是目錄。 在這種情況下,源文件將移動到目標目錄。

如果將單個文件指定為源source,并且目標是目錄,則該文件將移動到指定目錄。

要重命名文件,您需要將單個文件指定為源source,并將單個文件指定為目標destination。 例如,以下mv命令將file1.txt重命名為file2.txt

mv file1.txt file2.txt

mv命令重命名多個文件

mv命令一次只能重命名一個文件,但它可以與其他命令一起使用,例如find命令在bash的for或while循環中重命名多個文件。

在以下示例中顯示如何使用Bash for循環將重命名當前目錄中的所有.html文件。 并將.html擴展名更改為.php

for f in *.html; do 
    mv -- "$f" "${f%.html}.php"
done

讓我們解釋一下語句的含義,最容易理解當然是最后的一行是shell/bash的關鍵詞done表示循環的結束。

第一行創建一個for循環并遍歷當前目錄下以.html文件擴展名的文件。 第二行將.html文件移動并重命名文件。

并將文件的.html擴展名替換為.php${f%.html}使用的是shell參數擴展,.html將會匹配文件名原來擴展名,匹配的.html將會被刪除。

從示例中可以看出,使用mv命令重命名多個文件并不是一件容易的事,因為它需要你很好地了解Bash腳本編程

mv命令除了可以和shell腳本的for循環整合之外。 我們還可以讓mv結合find命令來實現與上面相同的功能。

我們還可以使用find命令搜索/查找當前目錄下以.html結尾的文件。 然后使用-exec對每個文件運行指定命令。

-exec允許你指定要運行的命令,find命令將搜索的每個結果一個接一個傳遞-exec要運行的命令中。

你可在-exec運行的命令使用字符串{}獲得正在處理的文件,如果你在使用find命令搜索文件使用絕對路徑,字符串{}將是一個文件的絕對路徑。

find . -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' \\;

這里我們解釋一下上面的find和-exec,mv是怎么配合使用的。

find命令之后.表示當前目錄,find的-depth選項表示遞歸當前目錄下的所有目錄,-name選項表示要使用名稱進行搜索。

"*.html"之所以加上雙引號是防止*號被shell解釋,*.html表示以.html作為擴展名的文件。

-exec sh -c表示-exec要運行命令是sh -c。 在類 Unix 操作系統上,sh是Bourne shell名名稱,是Unix和許多類Unix操作系統/Linux的標準命令語言解釋器。 -c是sh選項表示讀取命令字符串并運行。

'f="{}"; mv -- "$f" "${f%.html}.php"'這是一個命令的字符串,我想你應該知道大概含義,我們這里簡單說一下。 f="{}"表示將{}賦值給變量f{} 是文件名。

最后'f="{}"; mv -- "$f" "${f%.html}.php"' 這個命令字符串將由sh來解釋并運行。 分號;結束exec執行的命令。 它需要用\\進行轉義,這樣你在里面運行的shell 就不會把它當作自己的特殊字符,而是將它傳遞給find。

rename命令重命名文件

rename用于重命名多個文件。 rename命令相比mv,你需要一些正則表達式的高級知識。

rename命令有兩個版本,語法不同。 在本教程中,我們將使用rename命令的perl版本。 如果您的系統上未安裝此版本,則可以使用發行版的軟件包管理器安裝該版本。

如果你的計算機運行的是基于Debian的Linux發行版,例如Ubuntu,Linux mint。 可運行命令sudo apt update && sudo apt install rename安裝rename。

對于基于Redhat的Linux發行版,例如CentOS,Fedora。 可運行命令sudo apt update && sudo apt install rename安裝rename。

Arch Linux用戶可運行命令yay perl-rename或者yaourt -S perl-rename安裝rename。

sudo apt update && sudo apt install rename
sudo yum install prename
yay perl-rename ## or yaourt -S perl-rename

rename命令的語法是rename [OPTIONS] perlexpr files。 files表示多個文件,perlexpr是使用perl的正則表達式。

rename命令將多個文件根據指定的正則表達式重命名所有文件。 你可以在這里閱讀更多關于Perl的正則表達式的知識。

perl的正則表達式基本語法是action/SEARCHLIST/REPLACEMENTLIST/cdsr。 在重命名文件的perl正則表達式中常用的s///替換模式。

action 表示你要執行操作,SEARCHLIST表示你要搜索的內容,REPLACEMENTLIST表示你要REPLACEMENTLIST 替換SEARCHLIST

在使用rename重命名文件時,您還可以使用-n參數在不真實的運行reanme命令嘗試打印要重命名的文件的名稱。 這將不會不重命名你的文件,可以用來做簡單的測試。

默認情況下,rename命令不會覆蓋現有文件。 傳遞-f參數以允許覆蓋現有文件。

例如,下面的rename命令將更改與擴展名.html.php

rename 's/.html/.php/' *.html
rename -f 's/.html/.php/' *.html #覆蓋現有文件
rename -n 's/.html/.php/' *.html #嘗試運行,用于測試

輸出看起來像這樣:

rename(file-90.html, file-90.php)
rename(file-91.html, file-91.php)
rename(file-92.html, file-92.php)
rename(file-93.html, file-93.php)
rename(file-94.html, file-94.php)

以下是一些如何使用rename命令的常見示例。

用下劃線替換文件名中的空格

rename 'y/ /_/' *

將文件名轉換為小寫

rename 'y/A-Z/a-z/' *

將文件名轉換為大寫

rename 'y/a-z/A-Z/' *

結論

至此您應該很好地理解如何使用mvrename命令重命名文件。 當然,還有其他命令可以在Linux中重命名文件,例如mmv。 對于新Linux用戶可以使用GUI批量重命名工具,例如Métamorphose。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11469

    瀏覽量

    212911
  • 文件
    +關注

    關注

    1

    文章

    578

    瀏覽量

    25234
  • 命令
    +關注

    關注

    5

    文章

    730

    瀏覽量

    22710
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    php中rename()函數的妙用

    php中rename()函數的妙用 大家都知道,rename()函數可以對文件或目錄進行重命名的操作。其實它還可以做很多事情。 熟悉unix的朋友應該知道shell
    發表于 01-11 09:33

    新手求助,如何按規定對文件進行重命名

    比如,一個原始文件夾下有好幾個子文件夾,每個子文件夾下又有很多圖片,現在有一個EXCEL表格,每列代表一個子文件夾中圖片的新名字,要求按EXCEL表格的
    發表于 10-28 08:53

    保存“設置數據(.scp)”我無法重命名文件名。(MSOX-4034A)

    我想通過設置菜單將設置數據保存到示波器。但是,我無法從“setup_0”(默認名稱)重命名文件名。如何使用給定的文件名將設置數據保存到示波器中?謝謝, 以上來自于谷歌翻譯 以下為原文I want
    發表于 09-11 16:19

    重命名項目不在4.15上編譯

    項目文件夾”單選按鈕。4。當只更改“項目名稱”時,我可以編譯和運行,但名稱本身在項目窗口中沒有改變,這不是我的目標。5。因此,我標記“重命名項目文件夾”單選按鈕,項目的名稱在項目窗口中確實發生了變化
    發表于 09-25 17:36

    CyWDR文件也需要重命名嗎?

    我想克隆一個項目,作為一個非常類似的項目的開始(稍后為相同代碼的新版本)使用。是“將工作區/項目歸檔”到新文件夾并解壓縮它的推薦方法。然后打開被復制和右擊的項目并“重命名”主項目?關于“CyWDR
    發表于 08-15 14:02

    f_rename函數具體該怎么使用?

    哥最近在搞資源管理器的程序請教原子哥f_rename函數的用法根據說明此函數能重命名,移動文件因此我編寫如下:f_rename("0:/test.txt","0
    發表于 08-25 21:22

    在庫中查看怎么刪除或重命名函數?

    >我之前沒有這樣做,也不能>在庫中查看如何刪除或重命名函數?打開庫(文件 - >打開)并編輯。它不是一個vxe,是嗎?-SHAWN- 以上來自于谷歌翻譯 以下為原文> I
    發表于 10-28 14:05

    求助,如何重命名(正確的方式)STM32 項目?

    如何重命名(正確的方式)STM32 項目?如果我按 F2 我可以重命名項目的名稱,但項目文件夾仍然具有相同的名稱。如果我更改文件夾的名稱,則會出現錯誤。為什么?有
    發表于 01-30 06:28

    Pads文件轉換Allegro PCB后封裝如何按PAD大小規則的重命名

    Pads文件轉換Allegro PCB后封裝如何按PAD大小規則的重命名,避免設計出錯。  封裝PAD名字規則重命名  1、導出整板PCB封裝到一個新的lib文件路徑  2、任意打開一
    發表于 03-31 15:19

    LABVIEW中文件重命名的幾種方法——陳樹學《labview寶典》

    和REN是等同的,屬于內部DOS命令。需要注意的是重命名后的文件名不能指定驅動器和路徑,因為只能在源文件夾中重命名。四、利用API函數當遇到
    發表于 01-03 16:35 ?5662次閱讀
    LABVIEW中<b class='flag-5'>文件</b><b class='flag-5'>重命名</b>的幾種方法——陳樹學《labview寶典》

    在Linux上使用簡單的cp和mv命令來復制和重命名文件

    重命名它們,而不必為它們中的每一個使用 mv 命令。 /A-Z/a-z/ 告訴 rename 命令將范圍 A-Z 中的任何字母更改為 a-z
    的頭像 發表于 06-25 14:02 ?8634次閱讀

    如何使用python給所有文件重命名

    本文檔的主要內容詳細介紹的是如何使用python給所有文件重命名資料免費下載。
    發表于 09-22 17:09 ?2次下載
    如何使用python給所有<b class='flag-5'>文件</b>夾<b class='flag-5'>重命名</b>

    快速實現SOLIDWORKS模型批量重命名

    我們在使用SOLIDWORKS設計產品時,每次調用SOLIDWORKS Explorer重命名不能批量進行,為了解決廣大工程師的困擾,今天我們來介紹一款可以批量重命名的軟件—SolidKits.BOMs。
    發表于 01-17 18:10 ?1575次閱讀
    快速實現SOLIDWORKS模型批量<b class='flag-5'>重命名</b>

    Linux rename命令重命名多個文件與目錄

    使用`mv`命令重命名多個文件和目錄可能是一個乏味的過程,因為它涉及使用管道,循環等編寫復雜的命令
    的頭像 發表于 12-09 17:41 ?3306次閱讀

    討論Linux mv命令的一些實際示例

    mv 命令的最基本用途是重命名文件。那么讓我們看看如何重命名當前目錄中的文件
    的頭像 發表于 02-14 16:28 ?952次閱讀
    主站蜘蛛池模板: 国产一级特黄 | 欧美伦理一区二区三区 | 久久国产免费观看精品 | 久久久久国产午夜 | 久久本道综合色狠狠五月 | 欧美伦理一区二区三区 | 四虎影院最新网址 | www.三级.com| 国产一级一片免费播放视频 | 天天综合天天综合色在线 | 手机看日韩毛片福利盒子 | 看全色黄大色大片免费久久怂 | 国产重口老太和小伙乱视频 | 伊人色综合久久天天爱 | 欧美超级碰碰 | 黄色小视频免费看 | 成人欧美一区二区三区白人 | 天天色天天射天天操 | 色五五月 | 国产成人高清精品免费5388密 | 特级黄色淫片 | 日日夜夜天天干 | 91无毒不卡 | 女bbbbxxxx毛片视频丶 | 日本黄色一级大片 | 日本一区二区视频 | 最近2018中文字幕2019视频 | 黄网在线看 | 国产亚洲美女 | 国产综合精品久久久久成人影 | 国产成人精品免费视频大全可播放的 | aaa一级片 | 韩彩英三级无删版甜性涩爱 | 亚洲入口无毒网址你懂的 | 亚洲黄色网址在线观看 | 天天色天天操综合网 | 五月天婷婷在线播放 | 俺来也俺来也天天夜夜视频 | 免费福利片2022潦草影视午夜 | 欧洲三级网站 | 日本三级欧美三级香港黄 |