在文件夹结构中获取上次修改的文件日期

时间:2014-09-30 01:38:20

标签: linux

我正在尝试从文件夹结构中获取最近修改过的文件(datetime - 作为unixtimestamp)。有很多文件,但我只需要最近更新的日期时间。

我试过以下但是我认为我的方式很明显:

stat --printf="%y %n\n" $(ls -tr $(find * -type f))

2 个答案:

答案 0 :(得分:1)

这样的事情?

ls -ltr | tail -n1 | awk '{print "date -d\"" $6FS$7FS$8 "\" +%s"}' | sh

编辑:

实际上更好,尝试以下

find -type f -exec ls -l --time-style +%s {} \+ | sort -n -k6 | tail -n1

这将遍历您想要的文件夹结构,将时间打印为unix时间戳并对其进行排序,以使最新的时间结束。 (因此tail -n1

答案 1 :(得分:1)

试试这个:

ls -trF | grep -v '\/\|@' | tail -1 | xargs -i date +%s -r {}

ls -trF为您提供过滤掉的符号,' /'目录和' @'链接。之后,grep out那些文件,选择最后一个文件,并将其传递给date命令。

编辑:值得注意的还有date -r选项,它会显示作为参数提供的文件的最后修改日期。