韶关市葬花

deepinv20 linux怎么修改文件后缀? Linux系统修改文件后缀名的技巧

2026-04-02 19:25:02 浏览次数:1
详细信息

1. 使用 mv 命令(最常用)

# 单个文件修改
mv 原文件名.旧后缀 原文件名.新后缀

# 示例:将 file.txt 改为 file.doc
mv file.txt file.doc

2. 批量修改文件后缀

# 方法1:使用 for 循环
for file in *.txt; do
    mv "$file" "${file%.txt}.doc"
done

# 方法2:使用 rename 命令(更强大)
# 安装 rename(如未安装)
# Ubuntu/Debian: sudo apt install rename
# CentOS/RHEL: sudo yum install rename

# 批量将 .txt 改为 .doc
rename 's/\.txt$/.doc/' *.txt

# 批量将空格替换为下划线并修改后缀
rename 's/ /_/g; s/\.txt$/.doc/' *.txt

3. 使用参数扩展

# 单个文件
filename="example.txt"
mv "$filename" "${filename%.*}.doc"
# 结果:example.doc

4. 图形界面方法

5. 实用脚本示例

#!/bin/bash
# 批量将指定目录下的 .jpg 改为 .jpeg
dir="/path/to/images"
cd "$dir" || exit
for file in *.jpg; do
    if [ -f "$file" ]; then
        mv "$file" "${file%.jpg}.jpeg"
        echo "已修改: $file → ${file%.jpg}.jpeg"
    fi
done

6. 处理特殊字符的文件名

# 处理带空格的文件名
mv "my file.txt" "my file.doc"

# 使用引号或反斜杠转义
mv my\ file.txt my\ file.doc

7. 递归修改子目录中的文件后缀

# 使用 find + rename
find . -name "*.txt" -exec rename 's/\.txt$/.md/' {} \;

# 使用 find + bash
find . -name "*.txt" -type f | while read file; do
    mv "$file" "${file%.txt}.md"
done

注意事项:

先备份:批量修改前建议先备份 测试:使用 echo 先查看将要执行的命令
# 测试模式,不实际执行
for file in *.txt; do
    echo "mv $file ${file%.txt}.doc"
done
大小写敏感:Linux文件系统区分大小写 隐藏文件:以点开头的文件需要特殊处理

高级技巧:使用 mmv(多个文件重命名)

# 安装 mmv
# Ubuntu/Debian: sudo apt install mmv

# 批量修改后缀
mmv "*.txt" "#1.doc"

选择哪种方法取决于:

建议先在小范围测试,确认无误后再批量操作。

相关推荐