Linux在不同目录中重命名具有相同文件名的多个文件

时间:2016-04-02 14:53:02

标签: linux rename filenames subdirectory

正在运行Debain Linux 我希望在多个子文件夹中静态重命名具有相同文件名的多个文件。 e.g:

/DIR_1/journal.db

/DIR_2/journal.db

/DIR_3/journal.db

/DIR_4/journal.db

如何在每个目录中将journal.db重命名为journal.db.old? (约200)

我已经研究过重命名脚本和命令但似乎没有解决我需要在多个目录中同时执行此操作的事实

由于

2 个答案:

答案 0 :(得分:0)

我认为

$ find -iname "journal.db" -exec rename journal.db journal.db.old '{}' \;

应该这样做。

答案 1 :(得分:0)

好的,这是我自己问题的答案:

要从我的示例中删除journal.db文件,我使用了命令:

find . -name "journal.db" -exec rm -rf {} \;

这将从您运行命令的当前文件夹和子文件夹中删除journal.db。

要重命名我使用的文件:

find ./ -type f -iname 'journal.db' -exec sh -c 'mv "$1" "${1%..db}.bad"' _ {} \;

将其重命名为journal.bad