Regex 如何在sed中匹配{{param}}?
我想:Regex 如何在sed中匹配{{param}}?,regex,bash,sed,escaping,handlebars.js,Regex,Bash,Sed,Escaping,Handlebars.js,我想: gsed -n -e 's/{{\(.+\)}}/&/p' file gsed -n -e 's/{{\(.+\)}}/\&/p' file gsed -n -e 's/{{\(.+\)}}/\1/p' file ... gsed -n -e 's/{{(.+)}}/\&/p' file gsed -n -e 's/{{\([^{}]+\)}}/\&/p' file gsed -n -e 's/{{([^{}]+)}}/\&/p' file ...
gsed -n -e 's/{{\(.+\)}}/&/p' file
gsed -n -e 's/{{\(.+\)}}/\&/p' file
gsed -n -e 's/{{\(.+\)}}/\1/p' file
...
gsed -n -e 's/{{(.+)}}/\&/p' file
gsed -n -e 's/{{\([^{}]+\)}}/\&/p' file
gsed -n -e 's/{{([^{}]+)}}/\&/p' file
...
但它们不匹配任何内容(空输出)
我有一个把手模板,并希望提取我需要传递给模板的所有参数
pattern和sed命令如何匹配和提取双花括号的内容
因此,我想:
发件人:
更新:
不起作用您可以使用
grep-oP
:
grep -oP '\{\{\K[^}]*' file
some.class
img.url
使用awk
:
awk -F '{{|}}' 'NF>1{print $2}' file
some.class
img.url
要使用awk打印所有匹配项,请执行以下操作:
awk -F '{{|}}' 'NF>1{for(i=2; i<=NF; i+=2) print $i}'
awk-F'{{{}}'NF>1{for(i=2;i您可以使用grep-oP
:
grep -oP '\{\{\K[^}]*' file
some.class
img.url
使用awk
:
awk -F '{{|}}' 'NF>1{print $2}' file
some.class
img.url
要使用awk打印所有匹配项,请执行以下操作:
awk -F '{{|}}' 'NF>1{for(i=2; i<=NF; i+=2) print $i}'
awk-F'{{{}}'NF>1{for(i=2;i您必须避免打开花括号:
echo '<div class="{{truc}}" {{bidule}}>' | sed -r 's/\{\{([^}]+)}}/\1/g'
echo'.\sed-r's/\{([^}]+)}}/\1/g'
您必须避免打开花括号:
echo '<div class="{{truc}}" {{bidule}}>' | sed -r 's/\{\{([^}]+)}}/\1/g'
echo'.\sed-r's/\{([^}]+)}}/\1/g'
sed's/^.*$/'文件
gsed:-e expression#1,char 18:unterminated's'命令
sed's/^.*./{/s/}.$/'文件.*$/'文件祝你好运。我得到了gsed:-e expression#1,char 18:unterminated's'命令
对于OSX版本的grep有哪些选项?awk
版本运行良好!grep--version->grep(BSD grep)2.5.1-FreeBSD
。是的,正如我所说的,awk版本工作得很好!谢谢!关于perl-ne'/{([^}]*}}/和打印“$1\n”文件怎么样?对于awk版本,如果每行超过一个,您可以打印所有偶数字段。@static:那将是:awk-F'{{124;}}'>NF 1{(i=2;i grep的OSX版本的选项是什么?grep-oP
?awk
version工作得很好!grep--version->grep(BSD-grep)2.5.1-FreeBSD
。是的,正如我说的,awk版本工作得很好!谢谢!关于perl-ne'/{([^]*])}/和打印“$1\n”呢'file
对于awk版本,如果每行有多个字段,则可以打印所有偶数字段。@static:这将是:awk-F'{{}}'NF>1{For(i=2;IGetting error:gsed:-e expression#1,char 1:未知命令:'-'.
。如果没有-e
则根本没有输出。hm,更新后的变体工作正常。我知道,它替换,而不是提取匹配的单词。gettig error:gsed:-e expression#1,char 1:未知命令:'-'.
。没有-e
则根本没有输出。hm、 更新后的变体工作得很好。我知道,它是替换的,而不是提取匹配的单词。