【发布时间】:2022-12-13 09:25:27
【问题描述】:
我想做一个递归的 grep 并在第一时间搜索多个字符串/选项(我认为这可能被称为模式?不确定)。
从语义上讲,我想要搜索“foo | bar”。有多种选择。其中:grep -- "foo\|bar" *.txt 完成了这项工作。
我不能使用该命令,因为我不知道如何告诉它递归搜索。即,“-r”属性不起作用。Q1: 有什么想法吗?
无论如何,我发现以下选项更方便:
grep -r -f patternfile * 因为它允许我将我的匹配项(“foo”和“bar”以及任何其他)放入一个文件(这里称为 patternfile),每行一个。如果搜索许多表达式,这显然更方便和可读。
然而,这也有它的缺点!似乎我必须在这里为正在搜索的内容指定“*”。但当然我想限制它,例如文本文件,*.txt。但这不起作用... *Q2:如何使用这个命令.txt 最后? (为什么它一开始不接受呢?)
【问题讨论】:
标签: grep