【发布时间】:2014-05-26 04:27:49
【问题描述】:
如何在目录中检索最近修改过的子目录? 我在 Linux 发行版 (Ubuntu) 上使用 shell 脚本。
【问题讨论】:
标签: linux ubuntu scripting directory subdirectory
如何在目录中检索最近修改过的子目录? 我在 Linux 发行版 (Ubuntu) 上使用 shell 脚本。
【问题讨论】:
标签: linux ubuntu scripting directory subdirectory
听起来你想要 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)的疯狂名称(例如换行符、空格等)
【讨论】:
子目录修改多少无关紧要。你知道子目录的名字吗?像这样获取它的内容:
files=$(ls subdir-name)
for file in ${files}; do
echo "I see there is a file named ${file}"
done
【讨论】: