grep文件中只包含给定字符串的行

时间:2017-09-19 14:34:24

标签: regex grep

我正在使用以下

grep -rn "activity" *返回子目录文件中的行。我得到的结论是:

There was no activity
We reported no activity
There was some activity

我现在想将此限制为 only 字符串为单词activity的行。我的所有搜索似乎都发现将输出限制为字符串本身,而不是仅包含字符串本身的实际行。

任何帮助都会很棒!

2 个答案:

答案 0 :(得分:1)

grep可以与一个名为正则表达式或简称为re的概念结合使用。以下行应该可以解决问题:

grep -rn "^activity$" *

^ - 匹配行的开头。

$ - 匹配该行的结尾。

答案 1 :(得分:1)

grep--line-regex标记(缩写为-x),可以完全满足您的需求:提供时,模式activity仅匹配仅包含整个行“活性”。

$ echo "There was no activity
We reported no activity
activity" | grep -x activity

activity

在您的情况下,使用grep -rxn activity *应该可以解决问题。