Shell实现批量重命名文件【详细】

在Linux系统中,使用以下命令实现需求:

1. 追加扩展名(保留原扩展名):

find dt\=202* -type f -name 'par*' -exec mv -v -- {} {}.csv \;
  • 示例效果:
par1.txt → par1.txt.csv

2. 替换扩展名(删除原扩展名):

find dt\=202* -type f -name 'par*' -exec sh -c 'mv -v -- "$1" "${1%.*}.csv"' _ {} \;
  • 示例效果:
par1.txt → par1.csv

注意事项:

  1. dt\=202* 中的 \ 用于转义 = 符号,防止Shell解析错误;

  2. 命令中的 -type f 确保只处理文件;

  3. -name 'par*' 匹配以 par 开头的文件名;

  4. 使用 -exec 对每个匹配文件执行操作;

  5. 建议先通过 echo 测试命令效果:

find dt\=202* -type f -name 'par*' -exec echo mv -- {} {}.csv \;

确认无误后移除 echo 执行实际修改。


总结

如果此篇文章有帮助到您, 希望打大佬们能关注点赞收藏评论支持一波,非常感谢大家!
如果有不对的地方请指正!!!