如何读取创建的最新文件|选择一个是最新的

时间:2019-07-01 12:11:04

标签: linux

我有一个文件夹,每当我运行脚本时都在其中创建文件。首次运行时,它将创建demo_1.txt。下次运行时,它将创建demo_2.txt。依此类推。

我想根据时间戳读取最新创建的文件。

如果您在下面看到,根据时间戳记,最新创建的文件是demo_4.txt。那就是我要读取的文件。

demo_1.txt  => timestamp 8:00
demo_2.txt  => timestamp 8:02
demo_3.txt  => timestamp 8:03
demo_4.txt  => timestamp 8:04

这只有一半有效。它读取 all 个文件,并将它们附加到file.txt

find . -iname 'List*' -cm -60 -exec cat '{}' >> file.txt

如何修复它以仅获取最新文件?

1 个答案:

答案 0 :(得分:1)

stat * -c "%y-%n" | sort -r

将列出当前目录中的所有文件,并按上次数据修改时间的降序排列。

如果您只需要最后修改的文件,则相应的命令应为

stat * -c "%y-%n" | sort -r | head -n 1

stat * -c "%y-%n" | tail -n 1