如何按照时间顺序按最新修改datesorting“grep -l”的输出?

我用grep -l标志来打印匹配的文件名。

然后我想以升序列出结果(文件),即最新的最后一个。

明显

grep -l <pattern> *.txt | ls -rt 

不是我所需要的,因为ls -lrt只是输出所有文件。

尝试:

 ls -rt *.txt | xargs grep -l <pattern> 

我们首先使用ls列出*.txt文件并按修改时间(最新的最后一个)对它们进行排序,然后对每个条目通过grep运行它们,所以我们只打印包含该模式的文件。

我知道这是一个古老的问题,但想加我的建议,寻找相同的人..

for i in $(ls -rt *.txt); do grep <pattern> $i; done