Ubuntu的默认文件管理器**Nautilus(文件)**提供了简单易用的批量重命名功能,适合新手操作:
Ctrl + E快捷键或点击桌面“文件”图标,进入目标目录。Ctrl键点击需要重命名的多个文件(或用Shift键选择连续文件)。Shift + F2快捷键快速进入重命名模式。命令行工具适合复杂场景(如递归处理子目录、正则表达式替换),灵活性更高:
rename命令(推荐)rename是基于Perl的正则表达式工具,支持批量替换文件名中的字符或模式,语法简洁:
.txt文件中的“old”替换为“new”:rename 's/old/new/' *.txt
.jpg文件添加“vacation_”前缀:rename 's/^/vacation_/' *.jpg
.log文件的“.log”扩展名:rename 's/\.log$//' *.log
find和xargs,将所有子目录中的.mp3文件扩展名改为.wav:find . -name "*.mp3" -print0 | xargs -0 rename 's/\.mp3$/.wav/'
注意:操作前建议用
-n参数模拟运行(如rename -n 's/old/new/' *.txt),确认无误后再执行;文件名含空格时需用双引号包裹(如"my file.txt")。
mmv命令(复杂模式匹配)mmv支持通配符批量匹配,语法更直观,适合需要批量调整文件名结构的场景:
sudo apt install mmv
.txt文件重命名为.bak文件:mmv "*.txt" "#1.bak"
mmv "image_#1.jpg" "photo_#1.jpg"
find+sed+mv组合(灵活定制)适用于需要根据文件名特征(如包含特定字符串)进行批量修改的场景:
find . -type f -name "* - 副本.h" -exec bash -c 'mv "$0" "$(echo "$0" | sed "s/ - 副本.h/_ori.h/")"' {} \;
说明:
find查找符合条件的文件,sed替换文件名中的字符串,mv执行重命名操作。
"my file.txt"),或在find命令中使用-print0与xargs -0配合处理。rename -n、mmv -n等参数模拟操作,确认替换结果无误后再执行正式修改。以上方法覆盖了Ubuntu下批量修改文件名的常见场景,可根据需求选择合适的方式。图形界面适合简单操作,命令行工具则更适合复杂或批量任务。