【问题标题】:Linux Rename multiple files with same filename throughout different directoriesLinux在不同目录中重命名具有相同文件名的多个文件
【发布时间】:2016-07-22 08:20:43
【问题描述】:

正在运行Debain Linux 我希望在多个子文件夹中静态重命名多个文件名相同的文件。例如:

/DIR_1/journal.db

/DIR_2/journal.db

/DIR_3/journal.db

/DIR_4/journal.db

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

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

谢谢

【问题讨论】:

    标签: linux rename filenames subdirectory


    【解决方案1】:

    我认为

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

    应该可以解决问题。

    【讨论】:

      【解决方案2】:

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

      要从我的示例中删除 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

      【讨论】:

        猜你喜欢
        • 2022-06-14
        • 2012-12-11
        • 1970-01-01
        • 1970-01-01
        • 2018-10-09
        • 2015-07-27
        • 1970-01-01
        • 2011-01-27
        • 2014-11-28
        相关资源
        最近更新 更多