在Linux中,可以使用多種方法來批量重命名文件。以下是一些常用的命令和方法:
rename
命令rename
命令是一個非常強大的工具,可以用來批量重命名文件。它的基本語法如下:
rename [選項] 's/原字符串/新字符串/' 文件名
例如,如果你想將當前目錄下所有以 .txt
結尾的文件中的 old
替換為 new
,可以使用以下命令:
rename 's/old/new/' *.txt
for
循環你可以使用 for
循環來遍歷文件并進行重命名。例如:
for file in *.txt; do
mv "$file" "${file%.txt}_new.txt"
done
這個命令會將當前目錄下所有 .txt
文件重命名為在原文件名基礎上添加 _new
。
mmv
命令mmv
是一個專門用于批量重命名文件的工具,它的語法相對簡單直觀。首先需要安裝 mmv
:
sudo apt-get install mmv # Debian/Ubuntu 系統
sudo yum install mmv # CentOS/RHEL 系統
然后可以使用以下命令進行重命名:
mmv "*.txt" "#1_new.txt"
這個命令會將當前目錄下所有 .txt
文件重命名為在原文件名基礎上添加 _new
。
find
和 mv
命令組合如果你需要更復雜的重命名邏輯,可以使用 find
命令結合 mv
命令。例如:
find . -type f -name "*.txt" -exec sh -c 'mv "$0" "${0%.txt}_new.txt"' {} \;
這個命令會在當前目錄及其子目錄下查找所有 .txt
文件,并將它們重命名為在原文件名基礎上添加 _new
。
pathlib
模塊(Python)如果你熟悉 Python,可以使用 pathlib
模塊來批量重命名文件。以下是一個示例腳本:
from pathlib import Path
for file_path in Path('.').glob('*.txt'):
new_name = file_path.stem + '_new' + file_path.suffix
file_path.rename(new_name)
這個腳本會將當前目錄下所有 .txt
文件重命名為在原文件名基礎上添加 _new
。
選擇適合你需求的方法進行批量重命名即可。