我可以将Python文件列在最近更新到最近最新更新的目录中
ls -lt *.py
Run Code Online (Sandbox Code Playgroud)
但是我怎么能按顺序grep这些文件呢?
我理解一个人永远不应该试图解析输出,ls因为这是一件非常危险的事情.
您可以使用此管道通过gnu实用程序实现此目的:
find . -maxdepth 1 -name '*.py' -printf '%T@:%p\0' |
sort -z -t : -rnk1 |
cut -z -d : -f2- |
xargs -0 grep 'pattern'
Run Code Online (Sandbox Code Playgroud)
这将处理具有特殊字符的文件名,例如space,newline,glob等.
find查找*.py当前目录中的所有文件并打印修改时间(纪元值)+ :+文件名+ NUL字节sort 命令对作为时间戳的第一列执行反向数字排序cut 命令从输出中删除第1列(时间戳)xargs -0 grep命令pattern在每个文件中搜索