所以我正在尝试编写一个grep,它在给定文件中找到.epl文件名或文件路径。
我尝试了以下正则表达式
第1部分:使用的REGEX grep -rEco "\/(.+)\.epl|(.+)\.epl" ./index.epl
获得的结果
url => 'xyz.epl
url => 'xyz.epl
url => 'xyz.epl
url => "packet/xyz.epl
url => "/web/abc/xyz.epl
url => qq{/web/abc/xyz.epl
url => '/web/abc/def/xyz.epl
url => '/web/abc/def/xyz.epl
url => 'xyz.epl
url => 'xyz.epl
$url = "/web/abc/def/xyz.epl
var requestURL = "xyz.epl
var requestURL = "xyz.epl
<a style="float:left;" href="xyz.epl
[- Execute('components/xyz.epl
Welcome, <a href="xyz.epl
[- Execute('components/xyz.epl
<a href="xyz.epl
[- Execute(`'components/xyz.epl`
但是我希望它只匹配以下内容(带或不带前面的引号)
'xyz.epl(OR xyz.epl)
'xyz.epl
'xyz.epl
"packet/xyz.epl(OR packet/xyz.epl)
"/web/abc/xyz.epl(OR "/web/abc/xyz.epl)
/web/abc/xyz.epl
'/web/abc/def/xyz.epl
'/web/abc/def/xyz.epl
'xyz.epl
'xyz.epl
"/web/abc/def/xyz.epl
"xyz.epl
"xyz.epl
"xyz.epl
'components/xyz.epl
"xyz.epl
'components/xyz.epl
"xyz.epl
'components/xyz.epl
为了获得所需要的我试过grep -rEoc '\/(.+)\.epl|[\"\'](.+)\.epl'
但是它给了我一个unmatched '.
错误
我删除了正则表达式周围的引号,我得到了
Badly placed ()'s.
请帮助我实现正确的所需输出。
答案 0 :(得分:1)
我找到了两个不同来源的问题的答案。 一个解释here。 另一个是
set quote='"'; grep -E "\/(.+)\.epl|['${quote}](.+)\.epl" /index.epl
设定的报价做了伎俩
答案 1 :(得分:0)
如何告知哪些字符被接受为文件名的一部分:
grep -Eo "[0-9a-zA-Z/]*.epl" ./index.epl