【发布时间】:2011-12-08 21:55:36
【问题描述】:
我想在目录中查找最近更改的文件,不包括隐藏文件(以 . 开头的文件)和目录。
这个问题的方向是正确的,但不是我所需要的:
Linux: Most recent file in a directory
这里的关键是排除目录...
【问题讨论】:
标签: linux bash unix directory find
我想在目录中查找最近更改的文件,不包括隐藏文件(以 . 开头的文件)和目录。
这个问题的方向是正确的,但不是我所需要的:
Linux: Most recent file in a directory
这里的关键是排除目录...
【问题讨论】:
标签: linux bash unix directory find
喜欢那里的答案,除了没有 -A
ls -rt | tail -n 1
查看man ls 了解更多信息。
为了使其排除目录,我们使用 -F 选项为每个目录添加一个“/”,然后过滤那些没有“/”的目录:
ls -Frt | grep "[^/]$" | tail -n 1
【讨论】:
ls -rt | tail -n 1 不排除目录。
这是你想要的,不包括目录:
stat --printf='%F %Y %n\n' * | sort | grep -v ^directory | head -n 1
【讨论】:
同样的,不是很干净,但是:ls -c1 + 如果你愿意,可以添加尾巴 => ls -c1 | tail -1
$ touch a .b
$ ls -c1
a
$ ls -c1a
a
.b
$ touch d
$ ls -c1
d
a
$ ls -c1a
.
d
a
.b
..
$ touch .b
$ ls -c1a
.b
.
d
a
..
如您所见,没有a arg,只会列出可见文件。
【讨论】:
ls -cF1 | grep -Ev '/$' | head -1 ?
可能与另一篇文章中的答案相同,但略有不同(不包括目录)-
ls --group-directories-first -rt | tail -n 1
【讨论】: