想象一下这个场景:你刚接手一个项目,打开文件夹一看,满屏都是类似 final_report_v1.docx
、final_report_FINAL.docx
、final_report_REALLY_FINAL.docx
的文件,更糟的是,还有一堆图片命名为 IMG_001.jpg
、IMG_002.jpg
……毫无意义,这时候,你需要的不仅是耐心,还有一套高效的 Linux 文件重命名技巧。
在 Linux 系统中,文件重命名不仅仅是简单的“右键→重命名”,尤其是当你需要批量处理时,无论是用命令行工具还是脚本,掌握这些方法能让你事半功倍,下面就来介绍几种高效的文件重命名方式。
mv
命令最直接的方式就是使用 mv
(move)命令,虽然它的主要功能是移动文件,但也能用来重命名:
mv 旧文件名 新文件名
例子:
mv report_old.txt report_new.txt
注意:
mv
会直接覆盖,不会提示。 -i
参数让系统在覆盖前询问: mv -i old_name.txt new_name.txt
rename
命令如果你有一堆文件需要统一调整名称(比如去掉空格、修改后缀等),rename
命令是绝佳选择。
rename 's/旧模式/新模式/' 文件匹配模式
例子1:把所有 .txt
文件改成 .md
rename 's/\.txt$/.md/' *.txt
例子2:去掉文件名中的空格(替换为下划线)
rename 's/ /_/g' *
注意:
rename
可能不同(Perl 版本和 util-linux 版本),上述语法适用于 Perl 版本(Ubuntu/Debian 默认)。 rename -n
进行“模拟运行”,看看会怎么改,但不实际执行。 mmv
工具rename
的语法让你头疼,可以试试 mmv
(需手动安装),它的模式匹配更直观。
安装(Debian/Ubuntu):
sudo apt install mmv
使用示例:
mmv "*.txt" "#1.md" # 把所有 .txt 改成 .md mmv "file_*" "new_#1" # 把 file_abc 改成 new_abc
优点:
#1
、#2
等占位符,逻辑清晰。 如果以上方法还不够灵活,那就直接写个脚本,用循环处理:
count=1 for file in *.jpg; do mv "$file" "photo_${count}.jpg" ((count++)) done
today=$(date +"%Y%m%d") for file in *.log; do mv "$file" "${today}_${file}" done
适用场景:
find
、sed
)实现更高级操作。 如果你更习惯 GUI 操作,Linux 也有不错的文件管理器支持批量重命名,
场景 | 推荐方法 |
---|---|
单个文件重命名 | mv 命令 |
简单批量修改(如改后缀) | rename |
直观的批量重命名 | mmv |
复杂逻辑或自定义需求 | Shell 脚本 |
不想用命令行 | 图形化工具(如 Thunar) |
无论你是命令行高手还是新手,Linux 都提供了足够灵活的方式帮你摆脱混乱的文件名,下次再遇到一堆 final_final_v2
时,不妨试试这些方法,让你的文件管理更高效!
本文由 缪芸芸 于2025-08-02发表在【云服务器提供商】,文中图片由(缪芸芸)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/514260.html
发表评论