我正在尝试从文件夹结构中获取最近修改过的文件(datetime - 作为unixtimestamp)。有很多文件,但我只需要最近更新的日期时间。
我试过以下但是我认为我的方式很明显:
stat --printf="%y %n\n" $(ls -tr $(find * -type f))
答案 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
选项,它会显示作为参数提供的文件的最后修改日期。