regex 在twig文件(和更深的目录)中查找模式'{{〈anything inside>}``并输出到列表中的文本文件[已关闭]

xqnpmsa8  于 2023-01-21  发布在  其他
关注(0)|答案(1)|浏览(48)
    • 已关闭**。此问题需要超过focused。当前不接受答案。
    • 想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。

23小时前关门了。
Improve this question
我正在一个目录(以及更深的目录)中搜索包含变量{{ something var name }}的twig文件,我希望将其输出到一个文件(twig-vars.txt)中。
也许使用grepregex?这不是我的舵手室,所以提前感谢!
示例输出(twig-vars.txt):

{{ somevar }}
{{ someothervar }}
{{ site.url }}
{{ ... }}
q3qa4bjr

q3qa4bjr1#

PCRE模式下使用grep
grep -oP '{{\s*\K[\w.]+' file
-------8<------------------
somevar
someothervar
site
或者使用Perl:
perl -nE 'say $& if/{{\s*\K[\w.]+/' file
-------8<------------------
somevar
someothervar
site
正则表达式匹配如下:

| 节点|解释|
| - ------|- ------|
| {{|'{{'|
| \s*|空格(\n、\r、\t、\f和"")(0次或更多次(尽可能匹配最大数量))|
| \K|重置匹配的开始(K ept是什么),作为使用后看Assert的较短替代方法:look aroundsSupport of K in regex|
| [\w.]+|以下任何字符:单词字符(a-z、A-Z、0 - 9、_)、.""(1次或多次(匹配尽可能多的数量))|

或使用awk
awk -F'{{ | }}' '{print $2}' file
-------8<------------------
somevar
someothervar
site.url

相关问题