在 Linux shell 脚本中检索最近修改过的子目录?

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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

【讨论】:

对我来说这不是无关紧要的。

以上是关于在 Linux shell 脚本中检索最近修改过的子目录?的主要内容,如果未能解决你的问题,请参考以下文章

linux脚本,自动备份前一天修改过的文件并且删除7天前的文件

神不知鬼不晓,使用 Shell 脚本掩盖 Linux 服务器上的操作痕迹

在bash中对所有最近修改过的文件运行脚本

Linux shell脚本启动 停止 重启jar包

求助shell脚本修改xml的值

使用Shell批量修改Linux服务器的IP --- shell百例