我目前正在使用 grep,如下所示:
grep search_string search_file > output_file
这是一个例子:
grep "ich arbeite" deu.txt > out.txt
以这种方式使用时,我只能获取 out.txt 中的最后 20 个匹配项。我认为这是因为 search_string 包含空格和引号,因为当我尝试时:
grep arbeite deu.txt > out.txt
...我得到了预期的结果(所有匹配项都显示在 out.txt 中)
当我搜索包含空格的字符串时,如何让 grep 返回所有匹配项?
编辑:我的输入如下所示:
...
I wonder why. Ich frage mich, warum.
I work a lot. Ich arbeite viel.
I'll ask Tom. Ich frage mal Tom.
...
I wish Tom wouldn't keep bothering me with questions. Ich wünschte, Tom würde aufhören, mich mit Fragen zu nerven.
I wonder if Tom realizes how many hours a day I work. Ich frage mich, ob Tom klar ist, wie viele Stunden täglich ich arbeite.
...
答案1
事实证明,像我一样使用引号仅返回区分大小写的匹配项(其中正好有 20 个)。将 search_string 更改为
“我是阿尔贝特”
随后返回第一个“I”为大写的所有匹配项。我之所以没有注意到这一点,是因为我要查找的大多数早期匹配项的 I 都是大写的,而我没有查找的后期匹配项的 I 都是小写的。