我使用-l标志使用grep只打印匹配的文件名。
我想然后列出按升序排列,即最新的最后结果(文件)。
明显
grep -l <pattern> *.txt | ls -rt
是不是我所需要的,因为-lrt仅仅输出的所有文件的LS。
我使用-l标志使用grep只打印匹配的文件名。
我想然后列出按升序排列,即最新的最后结果(文件)。
明显
grep -l <pattern> *.txt | ls -rt
是不是我所需要的,因为-lrt仅仅输出的所有文件的LS。
尝试:
ls -rt *.txt | xargs grep -l <pattern>
我们首先使用ls
列出*.txt
文件,并通过修改时间(最新的最后一个),然后为每个条目通过运行它们进行排序grep
所以我们只打印出包含模式的文件。
我知道这是一个老问题,但认为加入我的建议的人谁正在寻找相同的..
for i in $(ls -rt *.txt); do grep <pattern> $i; done
这里是另一种方式
grep -l <pattern> *.txt | xargs ls -ltr --time-style="+%Y%m%d_%H%M"
例如
$ grep -l argparse * | xargs ls -ltr --time-style="+%Y%m%d_%H%M"
-rwxr-xr-x 1 raju 197121 979 20171030_2323 list_dep.py
-rwxr-xr-x 1 raju 197121 14329 20180129_2216 grep_installed.py
-rwxr-xr-x 1 raju 197121 7517 20180129_2216 popsort.py
只列出文件没有时间戳等,
grep -l <pattern> * | xargs ls -1tr
例如
$ grep -l argparse * | xargs ls -1tr
list_dep.py
grep_installed.py
popsort.py