【问题标题】:How do I copy the files from the latest directory created within a directory?如何从目录中创建的最新目录复制文件?
【发布时间】:2019-09-08 17:26:03
【问题描述】:

假设我有这样的目录: ~/Desktop/a ~/Desktop/b/some_files

目录 b 是在之后创建的,但不确定,有没有办法理解 Desktop 中哪个文件夹较新并将其放入变量中?

希望够清楚..

【问题讨论】:

  • 许多文件系统不存储创建日期。您使用哪种文件系统?
  • 另一个问题:ext4 保存了创建日期,但来自coreutilsstat 无法显示。 Source

标签: bash unix terminal


【解决方案1】:

一般的答案是“不”。

正如@Cyrus 所说,并非所有文件系统都存储创建时间(或在 NFSv3 的情况下传输它们),即使他们都这样做了,正如他的链接所提到的,coreutils 人正在等待 xstat(2)。

但是,如果您有更具体的情况,例如目录在创建后不会被修改,或者如果您对“较新”的定义是基于上次修改时间而不是创建时间,那么@dibery 的答案会起作用。

【讨论】:

    【解决方案2】:
    newfolder=`ls -c ~/Desktop/a ~/Desktop/b/ | head -n 1`
    

    然后您可以通过echo $newfolder 检索该值。

    【讨论】:

    • 是的,认为-c 表示创建是合理的,但是如果您检查man ls,您会发现-c, --ctime Sort by change time; list ctime with --long. -C, --multi-column List entries by columns.。最好删除这个答案,因为上面的 cmets 声明某些操作系统不存储创建日期对于 *nix 系统世界非常正确。祝你好运。
    猜你喜欢
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-25
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    相关资源
    最近更新 更多