将一个扩展递归重命名为另一个扩展的最简单方法是什么?

将一个扩展递归重命名为另一个扩展的最简单方法是什么?

我已经进行了大量的谷歌搜索,并且找到了一些相当复杂的解决方案。我觉得好像一定有​​更简单的事情。

假设我有

./1.txt
./2.txt
./more/3.txt
./more/4.txt
./more/even-more/5.txt

我想将任何 .txt 重命名为 .info

所以

 find . -type f -name "*.txt"

……然后呢?

编辑:纯bash将是首选

答案1

find . -type f -name \*.txt -print0 | while read -r -d '' i; do mv -v "$i" "${i%.txt}.info"; done

相关内容