Regex GNUSED删除单引号
问题在于,除了匹配模式中没有提到的单引号外,sed还删除了单引号:Regex GNUSED删除单引号,regex,linux,bash,gnu,Regex,Linux,Bash,Gnu,问题在于,除了匹配模式中没有提到的单引号外,sed还删除了单引号: echo "aaa 'w' ddd" | sed -r 's/aaa/echo dd/ge' 导致 dd w ddd 你对此有什么解释吗?结尾的“e”导致了它。本质上,您要求sed这样做: echo dd 'w' ddd 这将产生你所看到的结果。你可以这样做: echo $(echo "aaa 'w' ddd" | sed -e 's/aaa/dd/g') 结尾的“e”导致了它。本质上,您要求sed这样做: echo d
echo "aaa 'w' ddd" | sed -r 's/aaa/echo dd/ge'
导致
dd w ddd
你对此有什么解释吗?结尾的“e”导致了它。本质上,您要求sed这样做:
echo dd 'w' ddd
这将产生你所看到的结果。你可以这样做:
echo $(echo "aaa 'w' ddd" | sed -e 's/aaa/dd/g')
结尾的“e”导致了它。本质上,您要求sed这样做:
echo dd 'w' ddd
这将产生你所看到的结果。你可以这样做:
echo $(echo "aaa 'w' ddd" | sed -e 's/aaa/dd/g')
结尾的“e”导致了它。本质上,您要求sed这样做:
echo dd 'w' ddd
这将产生你所看到的结果。你可以这样做:
echo $(echo "aaa 'w' ddd" | sed -e 's/aaa/dd/g')
结尾的“e”导致了它。本质上,您要求sed这样做:
echo dd 'w' ddd
这将产生你所看到的结果。你可以这样做:
echo $(echo "aaa 'w' ddd" | sed -e 's/aaa/dd/g')
为了更好地理解,我建议在这个特殊标志上添加一个符号。
echo$(…)
是多余的jksha:是的,你是对的。我最初采用RES=$(echo“aaa'w'ddd”| sed-e's/aaa/dd/g)的两步方法;echo$RES,但随后决定OP可能不需要将结果存储在变量中,因此我删除了变量并回显了$(…)的结果!!!我需要扩展标志“e”,因为它对找到的模式计算一些算术表达式。也许最好的方法是对输入文件进行一些预处理,并用\'替换单引号?还有其他想法吗?让我们看看你想做什么,我们来看看!我认为Perl可能是您的朋友……为了更好地理解,我建议在这个特殊的标志上添加一个符号。echo$(…)
是多余的jksha:是的,您是正确的。我最初采用RES=$(echo“aaa'w'ddd”| sed-e's/aaa/dd/g)的两步方法;echo$RES,但随后决定OP可能不需要将结果存储在变量中,因此我删除了变量并回显了$(…)的结果!!!我需要扩展标志“e”,因为它对找到的模式计算一些算术表达式。也许最好的方法是对输入文件进行一些预处理,并用\'替换单引号?还有其他想法吗?让我们看看你想做什么,我们来看看!我认为Perl可能是您的朋友……为了更好地理解,我建议在这个特殊的标志上添加一个符号。echo$(…)
是多余的jksha:是的,您是正确的。我最初采用RES=$(echo“aaa'w'ddd”| sed-e's/aaa/dd/g)的两步方法;echo$RES,但随后决定OP可能不需要将结果存储在变量中,因此我删除了变量并回显了$(…)的结果!!!我需要扩展标志“e”,因为它对找到的模式计算一些算术表达式。也许最好的方法是对输入文件进行一些预处理,并用\'替换单引号?还有其他想法吗?让我们看看你想做什么,我们来看看!我认为Perl可能是您的朋友……为了更好地理解,我建议在这个特殊的标志上添加一个符号。echo$(…)
是多余的jksha:是的,您是正确的。我最初采用RES=$(echo“aaa'w'ddd”| sed-e's/aaa/dd/g)的两步方法;echo$RES,但随后决定OP可能不需要将结果存储在变量中,因此我删除了变量并回显了$(…)的结果!!!我需要扩展标志“e”,因为它对找到的模式计算一些算术表达式。也许最好的方法是对输入文件进行一些预处理,并用\'替换单引号?还有其他想法吗?让我们看看你想做什么,我们来看看!我想Perl可能是你在这里的朋友。。。