2

我正在尝试使用 GREP 命令从文件“test”中列出所有连续至少两次(即彼此相邻)包含字母“d”的行。但我无法让它工作。有人可以帮忙吗?

我无法显示我想要的。我不确定这是如何工作的。我试过grep [dd]了,但没有用。

这对我来说非常令人困惑

4

3 回答 3

5

在正则表达式中:

^ 字符表示,数据行的开始。所有字符都匹配自己。

因此,如果您要查找以 'dd' 开头的行,请尝试:

grep ^dd <your_file>

但是,如果您只想找出带有 'dd' 模式的行,请尝试:

grep dd <your_file>
于 2013-05-17T06:53:45.800 回答
1

grep [dd]正在使用包含“d”和“d”的集合(set = [])中的字符指定任何行。因此,只需将它们并排放置而不使用方括号,就可以为所有包含“d”的行以及紧随其后的另一个“d”提供方法。

cat yourfile | grep dd
grep dd yourfile
grep dd <yourfile

应该都可以工作,假设你用你的文件名替换“你的文件”。

如果您真的在寻找以两个或多个“d”开头的行,请使用 Sagar 的“^dd”而不是“dd”。同样,您可以对以两个或多个“d”结尾的行使用“dd$” 。

您可以尝试“man regexp”或http://www.zytrax.com/tech/web/regex.htm了解更多信息。

于 2013-05-17T07:10:45.353 回答
1

以下应该使它:

grep dd <your_file>
于 2013-05-17T06:26:34.847 回答