Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
即使使用bash命令(类似于grep)将模式按字符分割,如何获得模式的匹配?_Bash_Scripting_Grep_Command - Fatal编程技术网

即使使用bash命令(类似于grep)将模式按字符分割,如何获得模式的匹配?

即使使用bash命令(类似于grep)将模式按字符分割,如何获得模式的匹配?,bash,scripting,grep,command,Bash,Scripting,Grep,Command,我试图输出文件中包含特定单词/模式的所有行,即使它的字母之间包含其他字符 假设我们有一堆域名,我们想过滤掉所有包含“paypal”的域名,我希望有这样的输出: pay-pal-secure.com payppal.net etc... 我想知道这在grep中是否可行,或者是否存在其他可能的方法 非常感谢 将paypal替换为regexpp.*a.*y.*p.*a.*l以允许字母之间的所有字符 更新: 使用扩展正则表达式p.{0,2}a.{0,2}y.{0,2}p.{0,2}a.{0,2}l将字

我试图输出文件中包含特定单词/模式的所有行,即使它的字母之间包含其他字符

假设我们有一堆域名,我们想过滤掉所有包含“paypal”的域名,我希望有这样的输出:

pay-pal-secure.com
payppal.net
etc...
我想知道这在grep中是否可行,或者是否存在其他可能的方法


非常感谢

paypal
替换为regexp
p.*a.*y.*p.*a.*l
以允许字母之间的所有字符

更新

使用扩展正则表达式
p.{0,2}a.{0,2}y.{0,2}p.{0,2}a.{0,2}l
将字母之间的字符限制为无到两个

示例:
grep-E'p.{0,2}a.{0,2}y.{0,2}p.{0,2}a.{0,2}l'文件


请参阅:

或者您可以使用(近似grep):


这是一个好主意,但它会产生不想要的结果,有没有办法做到这一点,但每个字母之间只能有一两个中断?嗯,似乎它对我不起作用,它只输出完整的单词匹配
agrep-V
:这是agrep版本3.0,1994。你是说这在最新版本中被弃用了?我的是3.41.5,我不知道。我下载了3.41,它声称是3.40,但它可以工作。不过我还是要坚持3.0。
$ agrep -By paypal file
agrep: 2 words match within 1 error
pay-pal-secure.com
payppal.net