国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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
    +關注

    關注

    88

    文章

    11758

    瀏覽量

    219009
  • 文件
    +關注

    關注

    1

    文章

    594

    瀏覽量

    26054
  • 命令
    +關注

    關注

    5

    文章

    755

    瀏覽量

    23750
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    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 ?6087次閱讀
    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 ?8908次閱讀

    如何使用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 ?1880次閱讀
    快速實現SOLIDWORKS模型批量<b class='flag-5'>重命名</b>

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

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

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

    mv 命令的最基本用途是重命名文件。那么讓我們看看如何重命名當前目錄中的文件
    的頭像 發表于 02-14 16:28 ?1443次閱讀