Linux 命令 rename
旨在根據指定規則更改檔案和目錄的名稱。它不僅是一個簡單的重新命名工具,還允許使用者使用正規表示式執行批量重新命名操作,因此是系統管理員和開發人員的必備命令。
與用於移動或重新命名檔案的 mv
命令類似,rename
命令具有更大的靈活性和控制性。系統管理員、程式設計師和資料分析師等 IT 專業人員常用它來有效管理大型檔案集。
如何安裝 rename
命令
rename
命令的可用性可能因 Linux 發行版而異。下面,我將概述如何為一些常見發行版安裝和解除安裝 rename
命令:
基於 Debian 的系統 (e.g., Ubuntu)
安裝:
sudo apt-get update sudo apt-get install rename
解除安裝:
sudo apt-get remove rename
基於 RedHat 的系統 (e.g., Fedora, CentOS)
安裝:
sudo dnf install prename
解除安裝:
sudo dnf remove prename
Arch Linux
安裝:
sudo pacman -S perl-rename
解除安裝:
sudo pacman -R perl-rename
openSUSE
安裝:
sudo zypper install rename
解除安裝:
sudo zypper remove rename
如何使用 rename
1. 替換檔名中的字串
語法: rename 's/old/new/' *
說明: 將當前目錄下所有檔名中的字串 “old” 替換為 “new”。
示例: rename 's/test/demo/' *
Output:
testfile1.txt renamed as demofile1.txt testfile2.txt renamed as demofile2.txt
當前目錄中所有名稱中包含 test
的檔案現在都替換為 demo
。
2. 為檔名新增字首
語法: rename 's/^/prefix_/' *
說明: 在當前目錄下所有檔名的開頭新增 “prefix_”。
示例: rename 's/^/sample_/' *
Output:
file1.txt renamed as sample_file1.txt file2.txt renamed as sample_file2.txt
現在,當前目錄下的所有檔案都以 sample_
開頭。
3. 刪除副檔名
語法: rename 's/\.ext$//' *
說明: 刪除當前目錄中所有匹配檔名的 “.ext” 副檔名。
示例: rename 's/\.txt$//' *
Output:
document.txt renamed as document notes.txt renamed as notes
已刪除當前目錄下檔案的所有 .txt
副檔名。
4. 將檔名轉換為小寫
語法: rename 'y/A-Z/a-z/' *
說明: 將當前目錄下檔名中的所有大寫字母轉換為小寫字母。
示例: rename 'y/A-Z/a-z/' *
Output:
FILE1.TXT renamed as file1.txt FILE2.TXT renamed as file2.txt
將當前目錄中所有大寫字母的檔名改為小寫。
5. 更改副檔名
語法: rename 's/\.oldext$/.newext/' *
說明: 將當前目錄中所有匹配檔名的副檔名從”.oldext “更改為”.newext”。
示例: rename 's/\.jpg$/.png/' *
Output:
image1.jpg renamed as image1.png image2.jpg renamed as image2.png
當前目錄中所有檔案的 .jpg
副檔名都已更改為 .png
。
6. 從檔名中刪除字尾
語法: rename 's/suffix$//' *
說明: 刪除當前目錄下所有檔名末尾的 “字尾”。
示例: rename 's/_backup$//' *
Output:
file1_backup.txt renamed as file1.txt file2_backup.txt renamed as file2.txt
當前目錄中所有以 _backup
結尾的檔案現在都去掉了字尾。
7. 用下劃線替換檔名中的空格
語法: rename 's/ /_/' *
說明: 用下劃線替換當前目錄下檔名中的所有空格。
示例: rename 's/ /_/' *
Output:
my file.txt renamed as my_file.txt another file.txt renamed as another_file.txt
當前目錄中所有帶有空格的檔名現在都用下劃線代替了空格。
8. 在不更改副檔名的情況下為檔名新增字尾
語法: rename 's/(\.\w+)$/_suffix$1/' *
說明: 在當前目錄下所有副檔名前新增”_suffix”。
示例: rename 's/(\.\w+)$/_edited$1/' *
Output:
file1.txt renamed as file1_edited.txt file2.jpg renamed as file2_edited.jpg
當前目錄下的所有檔案現在都會在副檔名前新增 _edited
。
更多 Linux 命令
目錄操作 | rmdir · cd · pwd · exa · ls |
檔案操作 | cat · cp · dd · less · touch · ln · rename · more · head |
檔案系統操作 | chown · mkfs · locate |
網路 | ping · curl · wget · iptables · mtr |
搜尋和文字處理 | find · grep · sed · whatis · ripgrep · fd · tldr |
系統資訊和管理 | env · history · top · who · htop · glances · lsof |
使用者和會話管理 | screen · su · sudo · open |
評論留言