Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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
Regex 基本grep正则表达式_Regex_Grep - Fatal编程技术网

Regex 基本grep正则表达式

Regex 基本grep正则表达式,regex,grep,Regex,Grep,我正在尝试使用grep查找其内容包含.ple的所有文件。我试过: grep -ilr /.\.ple/ * 但它没有起作用 有人能告诉我我做错了什么吗 谢谢。你说它不起作用是什么意思 试试这个: grep -rlE '\.ple$' 上述措施应该有效 编辑:要搜索其内容包含的所有文件,请尝试此操作 grep -rl '\.ple' 有许多编程/脚本语言允许我们在/../slash之间编写正则表达式。但是使用grep,您不能这样做,您应该将regex表达式用引号括起来。我想这就是你的grep

我正在尝试使用grep查找其内容包含.ple的所有文件。我试过:

grep -ilr /.\.ple/ *
但它没有起作用

有人能告诉我我做错了什么吗


谢谢。

你说它不起作用是什么意思

试试这个:

grep -rlE '\.ple$'
上述措施应该有效

编辑:要搜索其内容包含的所有文件,请尝试此操作

grep -rl '\.ple'

有许多编程/脚本语言允许我们在/../slash之间编写正则表达式。但是使用grep,您不能这样做,您应该将regex表达式用引号括起来。我想这就是你的grep线的问题。正确的答案是:

grep -ilr '.\.ple' *
使用您的:grep-ilr/\.ple/*grep将查找以下行:

foo/a.ple/bar

也就是说,斜杠应该是字面字母。

亲爱的向下投票人,请解释向下投票的目的,这样我就可以避免将来犯同样的错误。1你的第一行是一个问题,而不是答案。如果你对某个问题不清楚,那么你应该对该问题发表评论,而不是发表答案。2您缺少文件名arg,该文件名至少应为*。3正则表达式本身是错误的。OP要求的文件包含.ple,而不是行以.ple结尾的文件。4非常确定你不需要E选项;就我所知,它不是relevant@CrayonViolent谢谢你的解释。太好了。感谢格里格。亲爱的蜡笔紫罗兰,关于你的评论:1你的第一行是一个问题,而不是答案。我看不出这有什么建设性。虽然你评论的另一部分可能有用,但你评论的总体基调不必要地降低了积极性。从我的问题性质来看,我是一个菜鸟这一事实应该是显而易见的,所以你能告诉我如何才能否决你的评论吗?谢谢。谢谢你的解释和正确答案。肯特。看来我只能接受一个答案。由于另一个比较短,适合我的需要,我接受了另一个答案。再次感谢。