【问题标题】:Recursively rename directory in reverse order, Bash script以相反的顺序递归重命名目录,Bash脚本
【发布时间】:2013-06-29 13:34:35
【问题描述】:

如何递归重命名目录结构?类似Batch rename directories in reverse order

但一个简单的班轮??

我尝试这样做是徒劳的,这是我尝试过的命令。

du . | cut -f 2- | sh -c 'mv "$0" echo `date "+%H%M%S%N"` ' {} \;

使用 CentOS 6

【问题讨论】:

    标签: bash centos6


    【解决方案1】:

    您似乎在尝试使用find -exec 语法而不实际使用find。使用 find 及其 -depth 选项使其从最深处返回目录。

    find . -depth -type d ! -name '.' -exec sh -c 'mv "$0" "$0.$(date "+%H%M%S%N")"' {} \;
    

    【讨论】:

    • 成功了!任何避免试图避免的方法。从重命名操作?
    【解决方案2】:

    这个怎么样:

    find /path/to/the/directories/location/ -depth -exec mv '{}' $(basename '{}')$(echo $(date "+%H%M%S%N")) \;
    

    【讨论】: