我想在目录中找到最近更改的文件,不包括隐藏文件(以。开头的文件),也不包括目录。
这个问题正朝着正确的方向发展,但不完全符合我的需要:
Linux: Most recent file in a directory
这里的关键是排除目录......
答案 0 :(得分:11)
就像那里的答案一样,除非没有-A
ls -rt | tail -n 1
请查看man ls
以获取更多信息。
要使其排除目录,我们使用-F选项向每个目录添加“/”,然后过滤那些没有“/”的目录:
ls -Frt | grep "[^/]$" | tail -n 1
答案 1 :(得分:3)
这样做你想要的,不包括目录:
stat --printf='%F %Y %n\n' * | sort | grep -v ^directory | head -n 1
答案 2 :(得分:0)
同一个,不是很干净但是: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,只会列出可见文件。
答案 3 :(得分:0)
可能与其他帖子中的答案相同,但差异很小(不包括目录) -
ls --group-directories-first -rt | tail -n 1