Bash

如何對特定文件使用 grep?

  • December 25, 2012

例如我輸入

ls -altr | grep "23 Dec"

所以它只會顯示 12 月 23 日的文件,我想為它們使用 grep,比如

ls -altr | grep "23 Dec" | xargs grep -l "some_string"

但這不起作用)

怎麼做?

如果您想使用自己的方式,請嘗試:

ls -altr | grep "23 Dec" | awk '{print $9}' | xargs -i grep -l "some_string" {}

或者find我會這樣做:

find . -type f -newermt 2012-12-23 ! -newermt 2012-12-24 -exec grep -l "some_string" {} \;

在 find 命令中,不要忘記轉義的分號。xargs另請注意,find 的工作方式與使用 -exec 選項時的工作方式大致相同。

如果您試圖查找在特定日期修改過的文件,

不需要管道,(ls預設使用修改時間)

find . -type f -newermt 2012-12-23 ! -newermt 2012-12-24 -iname '*some_string*'

引用自:https://unix.stackexchange.com/questions/59367