我用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