溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在Linux中如何一次重命名多個文件詳解

發(fā)布時間:2020-08-26 14:33:05 來源:腳本之家 閱讀:119 作者:Sk 欄目:服務(wù)器

前言

在日常工作中,我們經(jīng)常需要對一批文件進行重命名操作,例如將所有的jpg文件改成bnp,將名字中的1改成one,等等。

你可能已經(jīng)知道,我們使用 mv 命令在類 Unix 操作系統(tǒng)中重命名或者移動文件和目錄。 但是,mv 命令不支持一次重命名多個文件。 不用擔心。 在本教程中,我們將學習使用 Linux 中的 mmv 命令一次重命名多個文件。 此命令用于在類 Unix 操作系統(tǒng)中使用標準通配符批量移動、復(fù)制、追加和重命名文件。

在 Linux 中一次重命名多個文件

mmv 程序可在基于 Debian 的系統(tǒng)的默認倉庫中使用。 要想在 Debian、Ubuntu、Linux Mint 上安裝它,請運行以下命令:

$ sudo apt-get install mmv

我們假設(shè)你在當前目錄中有以下文件。

$ ls
a1.txt a2.txt a3.txt

現(xiàn)在,你想要將所有以字母 “a” 開頭的文件重命名為以 “b” 開頭的。 當然,你可以在幾秒鐘內(nèi)手動執(zhí)行此操作。 但是想想你是否有數(shù)百個文件想要重命名? 這是一個非常耗時的過程。 這時候 mmv 命令就很有幫助了。

要將所有以字母 “a” 開頭的文件重命名為以字母 “b” 開頭的,只需要運行:

$ mmv a\* b\#1

讓我們檢查一下文件是否都已經(jīng)重命名了。

$ ls
b1.txt b2.txt b3.txt

如你所見,所有以字母 “a” 開頭的文件(即 a1.txt、a2.txt、a3.txt)都重命名為 b1.txt、b2.txt、b3.txt。

解釋

在上面的例子中,第一個參數(shù)(a\*)是 “from” 模式,第二個參數(shù)是 “to” 模式(b\#1)。根據(jù)上面的例子,mmv 將查找任何以字母 “a” 開頭的文件名,并根據(jù)第二個參數(shù)重命名匹配的文件,即 “to” 模式。我們可以使用通配符,例如用 *、? 和 [] 來匹配一個或多個任意字符。請注意,你必須轉(zhuǎn)義使用通配符,否則它們將被 shell 擴展,mmv 將無法理解。

“to” 模式中的 #1 是通配符索引。它匹配 “from” 模式中的第一個通配符。 “to” 模式中的 #2 將匹配第二個通配符(如果有的話),依此類推。在我們的例子中,我們只有一個通配符(星號),所以我們寫了一個 #1。并且,# 符號也應(yīng)該被轉(zhuǎn)義。此外,你也可以用引號括起模式。

你甚至可以將具有特定擴展名的所有文件重命名為其他擴展名。例如,要將當前目錄中的所有 .txt 文件重命名為 .doc 文件格式,只需運行:

$ mmv \*.txt \#1.doc

這是另一個例子。 我們假設(shè)你有以下文件。

$ ls
abcd1.txt abcd2.txt abcd3.txt

你希望在當前目錄下的所有文件中將第一次出現(xiàn)的 “abc” 替換為 “xyz”。 你會怎么做呢?

很簡單。

$ mmv '*abc*' '#1xyz#2'

請注意,在上面的示例中,模式被單引號括起來了。

讓我們檢查下 “abc” 是否實際上被替換為 “xyz”。

$ ls
xyzd1.txt xyzd2.txt xyzd3.txt

看到?jīng)]? 文件 abcd1.txt、abcd2.txt 和 abcd3.txt 已經(jīng)重命名為 xyzd1.txt、xyzd2.txt 和 xyzd3.txt。

mmv 命令的另一個值得注意的功能是你可以使用 -n 選項打印輸出而不是重命名文件,如下所示。

$ mmv -n a\* b\#1
a1.txt -> b1.txt
a2.txt -> b2.txt
a3.txt -> b3.txt

這樣,你可以在重命名文件之前簡單地驗證 mmv 命令實際執(zhí)行的操作。

有關(guān)更多詳細信息,請參閱 man 頁面。

$ man mmv

更新:Thunar 文件管理器

Thunar 文件管理器默認具有內(nèi)置批量重命名選項。 如果你正在使用 Thunar,那么重命名文件要比使用 mmv 命令容易得多。

Thunar 在大多數(shù) Linux 發(fā)行版的默認倉庫庫中都可用。

要在基于 Arch 的系統(tǒng)上安裝它,請運行:

$ sudo pacman -S thunar

在 RHEL、CentOS 上:

$ sudo yum install thunar

在 Fedora 上:

$ sudo dnf install thunar

在 openSUSE 上:

$ sudo zypper install thunar

在 Debian、Ubuntu、Linux Mint 上:

$ sudo apt-get install thunar

安裝后,你可以從菜單或應(yīng)用程序啟動器中啟動批量重命名程序。 要從終端啟動它,請使用以下命令:

$ thunar -B

批量重命名方式如下。

在Linux中如何一次重命名多個文件詳解

單擊“+”,然后選擇要重命名的文件列表。 批量重命名可以重命名文件的名稱、文件的后綴或者同時重命名文件的名稱和后綴。 Thunar 目前支持以下批量重命名:

  • 插入日期或時間
  • 插入或覆蓋
  • 編號
  • 刪除字符
  • 搜索和替換
  • 大寫或小寫

當你從選項列表中選擇其中一個條件時,你將在“新名稱”列中看到更改的預(yù)覽,如下面的屏幕截圖所示。

在Linux中如何一次重命名多個文件詳解

選擇條件后,單擊“重命名文件”選項來重命名文件。

你還可以通過選擇兩個或更多文件從 Thunar 中打開批量重命名器。 選擇文件后,按 F2 或右鍵單擊并選擇“重命名”。

??鞓?!

via: https://www.ostechnix.com/how-to-rename-multiple-files-at-once-in-linux/

作者:SK 選題:lujun9972 譯者:Flowsnow 校對:wxy

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI