Shell:如何迭代目录名称并获取最新的两个?

时间:2017-01-05 12:03:29

标签: bash shell scripting

假设我在aws s3存储桶上有以下目录名称。此输出由aws s3 ls

返回
PRE 20161205_1248/
PRE 20161207_1613/
PRE 20161211_1732/
PRE 20161213_1806/
PRE 20161216_0603/
PRE 20161219_0255/
PRE 20161224_1350/
PRE 20161226_1915/
PRE 20161229_0154/
PRE 20161231_1139/

目录名称是时间戳,最新名称是:

20161205_1248

如何迭代目录名称以获取最新的名称?我是shell脚本的新手,所以非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

  1. 使用ls
  2. 列出目录中的所有文件
  3. 使用sort
  4. 递归排序
  5. 获取尾部的最后两行
  6. 以头

    获取此分数的第一行
    ls | sort -r | tail -2 | head -1
    
  7. 如果你对最后一步感到困惑,那么让-r选项远离排序。