我不知道这是否可能,或者grep是错误的工具,还是什么,但我想要做的是:
grep -rsI "some_string" *.c
Run Code Online (Sandbox Code Playgroud)
然后将发现结果的文件列表导入第二个grep:
grep -rsI "second_string" <list of files from first grep>
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过以下方式将确切的行传输到第二个grep:
grep -rsI "some_string" *.c | grep "second_string"
Run Code Online (Sandbox Code Playgroud)
但这不是我想要的,我不想只搜索以前点击的行,但是这些行所在的整个文件.这甚至可能吗?有任何想法吗?
grep -rsIl "some_string" *.c | xargs grep -sI "second_string"
Run Code Online (Sandbox Code Playgroud)
使用-l选项列出匹配的文件,然后xargs使用命令应用grep到这些文件。
grep -l -rsI "some_string" *.c | xargs grep "second_string"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
601 次 |
| 最近记录: |