找到由n个字符分隔的两个字符串

时间:2017-03-28 14:50:59

标签: regex grep

我有一个包含多行文字的文件。我正在尝试查找包含两个字符串的行的行号,严格n个字符分隔。

到目前为止我所拥有的:

grep -n "string1*string2" file.txt

当然,只打印出这两个字符串相邻的行号。如何强制执行n字符间隙?

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以使用具有固定数字的量词:

grep -nE 'string1.{10}string2' file

这会在同一行中找到string1string2这两个令牌,用完全 10个字符分隔。

答案 1 :(得分:1)

.\{N\}其中N是字符数,例如

grep -n "string1.\{2\}string2" file.txt