【问题标题】:linux_rename files in directory by prepending with timestamp using find commandlinux_rename 目录中的文件,通过使用 find 命令添加时间戳
【发布时间】:2021-11-30 10:02:06
【问题描述】:

我正在尝试通过使用下面的 find 命令添加时间戳值来重命名当前目录中的文件

 find . -type f -exec mv {} $(date +%Y-%m-%d)_{} \;

但是得到'不能移动,没有这样的文件或目录错误',但是附加在下面的命令中效果很好,不确定两者之间有什么区别。

 find . -type f -exec mv {} {}.$(date +%Y-%m-%d) \;

【问题讨论】:

  • find 返回绝对路径,所以基本上你正在尝试执行这样的命令:mv /home/user/file 2021-10-11_/home/user/file。第二个参数是一个无效的路径和错误显示的内容。
  • 这终于为我工作了," find . -type f -exec sh -c 'mv {} $(date +%Y-%m-%d-%H-%M)_$ (basename {})' \; "

标签: linux file rename


【解决方案1】:

试试这个

find . -type f -exec mv {} $(date +%Y-%m-%d)$(basename {}) \;

【讨论】:

    猜你喜欢
    • 2016-09-21
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 2015-04-14
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 1970-01-01
    相关资源
    最近更新 更多