温馨提示×

linux怎么批量改后缀

小樊
49
2026-09-16 17:52:08
栏目: 智能运维

在 Linux 下批量修改文件后缀,常用且简单的方法有以下几种:


方法一:使用 rename 命令(推荐)

Debian / Ubuntu(Perl 版 rename)

rename 's/\.txt$/.md/' *.txt

把当前目录下所有 .txt 改为 .md

批量改所有文件:

rename 's/$/.bak/' *

CentOS / RHEL(util-linux 版 rename)

rename .txt .md *.txt

⚠️ 两个版本的 rename 用法不同,先 rename --help 确认


方法二:使用 for 循环(最通用)

for f in *.txt; do
    mv "$f" "${f%.txt}.md"
done

说明:

  • ${f%.txt} 表示去掉结尾的 .txt

方法三:使用 find(递归子目录)

find . -type f -name "*.txt" -exec sh -c '
    mv "$1" "${1%.txt}.md"
' _ {} \;

或批量处理:

find . -type f -name "*.txt" | while read f; do
    mv "$f" "${f%.txt}.md"
done

方法四:使用 mmv(需安装)

mmv "*.txt" "#1.md"

小技巧

  • 先预览(不真正执行):
for f in *.txt; do echo mv "$f" "${f%.txt}.md"; done

如果你愿意,可以告诉我:

  • 系统版本(Ubuntu / CentOS 等)
  • 是否要递归子目录
  • 原后缀和目标后缀

我可以给你更精确的一条命令。

0 踩