我想获取当前目录或任何子目录中所有文件的列表,其中包含按修改日期排序的特定字符串。
我无法获得答案
How to sort the output of "grep -l" chronologically by newest modification date last?
用于递归grep搜索的目的。我如何获得这样一个有序列表,以使grep -lr
找到的所有文件都真正包含在内。
答案 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