如果找到内容后如何在grep之后生成文件?

let*_*eda 3 shell grep

我这样做(例如:):

grep a text.txt > file.log
Run Code Online (Sandbox Code Playgroud)

我可以生成file.log,只要它找到了"a".我应该把它放入if吗?怎么样?有人可以举个例子吗?此时这将生成空白文件.

dev*_*ull 6

一个简单的解决方法是说:

grep a text.txt > file.log || rm file.log
Run Code Online (Sandbox Code Playgroud)

file.log如果grep找不到匹配,这将删除.所以你不会有空白文件.


Vij*_*jay 5

awk '/a/{print >"file.log"}' text.txt
Run Code Online (Sandbox Code Playgroud)

如果文件text.txt与'a'匹配,则此命令将创建file.log