Bash
如何對特定文件使用 grep?
例如我輸入
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*'