当没有应用正则表达式和变量扩展时,如何将 sed 命令分解为嵌套部分?

当没有应用正则表达式和变量扩展时,如何将 sed 命令分解为嵌套部分?

我想用 PHP 文件中的另一个电子邮件地址替换所有出现的特定的、先前确定的(已知)电子邮件地址;不应涉及正则表达式;sed这是我知道的最简单的方法。

这有效(电子邮件已更改):

sed -i 's/\$to = "[email protected]"/\$to = "example_1@example_1.com"/g' FILE

但我认为用一个衬垫进行文本处理通常是错误的,特别是如果人们发现它们“太长”,所以我尝试将其分解为以下行不通的内容:

sed -i \
' \
-e s/
-e \$to = "[email protected]"/
-e \$to = "example_1@example_1.com"/
-e g
' \
FILE

sed: -e expression #1, char 8: unterminated address regex

当没有应用正则表达式和变量扩展时,如何将 sed 命令分解为嵌套部分?
(即当操作中没有正则表达式和变量扩展/特殊引用规则时)

答案1

请尝试以下操作:

sed -i \
's/'\
'\$to = "[email protected]"'\
'/'\
'\$to = "[email protected]"'\
'/g'\
 FILE

注意前面的一个空格FILE

相关内容