Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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 如何在sed中匹配{{param}}?_Regex_Bash_Sed_Escaping_Handlebars.js - Fatal编程技术网

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、 更新后的变体工作得很好。我知道,它是替换的,而不是提取匹配的单词。