unix命令用于查找创建的最新目录

jda*_*mae 9 unix shell find unix-timestamp

我想从最新创建的目录中复制文件.我怎么会在unix中这样做?

例如,如果我将目录名称作为日期戳,则:

/20110311
/20110318
/20110325
Run Code Online (Sandbox Code Playgroud)

Bea*_*ano 10

这是我认为你问的问题的答案.

当我处理名称中有日期/时间戳的许多目录时,我总是采用你所拥有的YYYYMMDD方法 - 最重要的是日期顺序也是字母顺序.在大多数shell中(当然在bash中,我对其他shell有90%肯定),'*'扩展按字母顺序完成,默认情况下' ls '返回字母顺序.于是

    ls | head -1
    ls | tail -1
Run Code Online (Sandbox Code Playgroud)

为您提供目录中的最早和最新日期.

这可以扩展到仅保留最后5个条目等.


dry*_*dam 6

lastdir=`ls -tr <parentdir> | tail -1`
Run Code Online (Sandbox Code Playgroud)

我不知道如何通过这里的评论系统使反引号发挥出色.用反引号替换那些撇号.

  • 在bash中你可以使用$(...)而不是反引号. (4认同)