如何按最新修改日期的时间顺序对递归“ grep -lr”的输出进行排序?

时间:2019-02-20 15:35:43

标签: grep ls

我想获取当前目录或任何子目录中所有文件的列表,其中包含按修改日期排序的特定字符串。

我无法获得答案

How to sort the output of "grep -l" chronologically by newest modification date last?

用于递归grep搜索的目的。我如何获得这样一个有序列表,以使grep -lr找到的所有文件都真正包含在内。

1 个答案:

答案 0 :(得分:1)

假设您的文件名不包含换行符:

find dir -type f -printf '%T@\t%p\n' | sort | cut -f2- | xargs grep -l whatever

更强大地使用GNU版本的工具来处理包含外来字符的目录/文件名:

find dir -type f -printf '%T@\t%p\0' | sort -z | cut -z -f2- | xargs -0 grep -l whatever