unix查找最近更新的单个文件,其中包含同名的重复文件

unix查找最近更新的单个文件,其中包含同名的重复文件,unix,find,Unix,Find,我使用下面的find命令在多个目录中查找并列出“test.txt” 正如您可以看到的输出,我得到了不止一个结果,因为在不同的子目录下有重复的文件,这是完全正确的 现在,我只需要拿起最近更新的文件 我知道我可以使用-mtime来获取在过去一小时或一天中修改的文件 但是我不知道文件是什么时候修改的。我只需要所有副本中最近更新的文件 你能帮忙吗 命令: find source_feeds-20170101* -name test.txt -exec ls -ltr {} \; 输出: -rw-r-

我使用下面的find命令在多个目录中查找并列出“test.txt”

正如您可以看到的输出,我得到了不止一个结果,因为在不同的子目录下有重复的文件,这是完全正确的

现在,我只需要拿起最近更新的文件

我知道我可以使用-mtime来获取在过去一小时或一天中修改的文件

但是我不知道文件是什么时候修改的。我只需要所有副本中最近更新的文件

你能帮忙吗

命令:

find source_feeds-20170101* -name test.txt -exec ls -ltr {} \;
输出:

 -rw-r----- 1 user123 group1 87841 May 27 10:46 source_feeds-20170101_1/test.txt

 -rw-r----- 1 user123 group1 87841 May 20 7:25 source_feeds-20170101_2/test.txt
如果使用+而不是;/最后,这个发现将解决这个问题。
;/ 执行
ls-ltr路径1;ls-ltr path2
while+执行时,这将只生成一个输出,而不是匹配的一个输出。

下面的内容对我有用

find source_feeds-20170101* -name test.txt -print0 | xargs -0 ls -ltr | tail -1

查看
stat path/2/yourFile
的输出。但这可能是因为即使是
Change:2017-05-31 07:22:01.975329001
的解决方案也会“平局”(我想不太可能)。祝你好运。乍一看我误解了这个问题。很抱歉,通过删除xargs,-print0并使用
-exec ls-ltr{}+
我也更新了我的答案,您可以使这个分类器更快。
find source_feeds-20170101* -name test.txt -print0 | xargs -0 ls -ltr | tail -1