【问题标题】:": unescaped newline inside substitute pattern when using " instead of ' in sed search pattern": 在 sed 搜索模式中使用 " 而不是 ' 时,替代模式内的未转义换行符
【发布时间】:2018-02-08 21:01:13
【问题描述】:

我正在尝试在 for 循环中使用 sed 内的变量。起初我虽然我的问题是我使用 ' 而不是 " 围绕我的 sed 命令,但这也会产生相同的错误。我确信它很容易修复,但我无法弄清楚

我尝试格式化的文本如下所示

sharename:/path/to/share

for 循环是这样的

for SERVERNAME in server1 server2; do
       sed -e "s|^|\\\\$SERVERNAME\\|"
done

此代码返回此错误

sed: 1: "s|^|\\server1\|
": unescaped newline inside substitute pattern
sed: 1: "s|^|\\server2\|
": unescaped newline inside substitute pattern

【问题讨论】:

  • 尝试 8 个和 4 个反斜杠。

标签: bash sed


【解决方案1】:

感谢@GrumpyCrouton

    for SERVERNAME in server1 server2; do
       sed -e "s|^|\\\\$SERVERNAME\\|"
    done

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 2019-11-15
    • 2020-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多