使用grep列出以。开头的行

时间:2013-05-17 06:21:38

标签: regex bash unix grep

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

我无法展示我想要的东西。我不确定这是如何工作的。我试过了grep [dd],但这没效果。

这对我来说非常困惑

3 个答案:

答案 0 :(得分:3)

在正则表达式中:

^字符表示数据行的开头。 所有人物都与自己相匹配。

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

grep ^dd <your_file>

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

grep dd <your_file>

答案 1 :(得分:1)

以下内容应该是:

grep dd <your_file>

答案 2 :(得分:0)

您的grep [dd]指定了包含“d”和“d”的集合(set = [])中包含字符的任何行。因此,简单地将它们并排放置而不使用方括号为所有包含“d”的行提供了方法,并在其后面添加了另一个“d”。

cat yourfile | grep dd
grep dd yourfile
grep dd <yourfile
假设你用你的文件名替换“你的文件”,

应该都可以。

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

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