【问题标题】:Retrieving the sub-directory, which had most recently been modified, in a Linux shell script?在 Linux shell 脚本中检索最近修改过的子目录?
【发布时间】:2014-05-26 04:27:49
【问题描述】:

如何在目录中检索最近修改过的子目录? 我在 Linux 发行版 (Ubuntu) 上使用 shell 脚本。

【问题讨论】:

    标签: linux ubuntu scripting directory subdirectory


    【解决方案1】:

    听起来你想要 ls 选项

    -t sort by modification time, newest first

    并且只显示目录,使用类似这个答案建议Listing only directories using ls in bash: An examination

    ls -d */

    如果您希望每个目录都列在一行上(如果您的文件/目录名没有换行符或疯狂字符),我会添加 -1 所以总的来说,这应该列出当前目录中的目录,最新修改顶部的次数

    ls -1td */

    而且只有一个最新的目录:

    ls -1td */ | head -n 1

    或者,如果您想与特定时间进行比较,您可以使用 find-cmin -cnewer -ctime -mmin -mtime 之类的选项,并且 find 可以处理带有空终止名称选项(例如 -print0)的疯狂名称(例如换行符、空格等)

    【讨论】:

      【解决方案2】:

      子目录修改多少无关紧要。你知道子目录的名字吗?像这样获取它的内容:

      files=$(ls subdir-name)
      for file in ${files}; do
          echo "I see there is a file named ${file}"
      done
      

      【讨论】:

      • 对我来说这不是无关紧要的。
      猜你喜欢
      • 2017-01-12
      • 1970-01-01
      • 2015-01-08
      • 1970-01-01
      • 2011-11-25
      • 1970-01-01
      • 1970-01-01
      • 2014-01-11
      • 2018-08-05
      相关资源
      最近更新 更多