一尘不染

递归更改Bash中的文件扩展名

linux

我想通过目录递归迭代和修改某一分机的所有文件的扩展名,说.t1.t2。bash命令执行此操作是什么?


阅读 244

收藏
2020-06-02

共1个答案

一尘不染

如果您有可用的重命名,请使用:

find . -name "*.t1" -exec rename 's/\.t1$/.t2/' '{}' \;

如果重命名不可用,请使用:

find . -name "*.t1" -exec bash -c 'mv "$1" "${1%.t1}".t2' - '{}' \;
2020-06-02