如何对特定文件使用grep?

Vex*_*toR 4 ls grep bash

例如我输入

ls -altr | grep "23 Dec"
Run Code Online (Sandbox Code Playgroud)

所以它只会显示 12 月 23 日的文件,我想为它们使用 grep,比如

ls -altr | grep "23 Dec" | xargs grep -l "some_string"
Run Code Online (Sandbox Code Playgroud)

但这不起作用)

怎么做?

ixt*_*lix 5

如果您想使用自己的方式,请尝试:

ls -altr | grep "23 Dec" | awk '{print $9}' | xargs -i grep -l "some_string" {}
Run Code Online (Sandbox Code Playgroud)

或者find我会这样做:

find . -type f -newermt 2012-12-23 ! -newermt 2012-12-24 -exec grep -l "some_string" {} \;
Run Code Online (Sandbox Code Playgroud)

在 find 命令中,不要忘记转义的分号。另请注意, find 的工作方式xargs与与 -exec 选项一起使用时的工作方式大致相同。