将 SED 分配给变量的问题

Issue assigning a SED to a variable

我正在 BSD 机器上工作,我试图做的是将一个变量分配给一个使用变量作为输入的 SED 命令的输出。已经为此工作了 3 天,尝试了多种不同的方法,但总是以“./subscript: ${sed ...}: Bad substitution”错误结束。非常感谢任何帮助。

TMPEX=${sed "s/\\\/\\/g" <<$TMPEX}

TEMPEX 最初包含

C:\Windows\System32\wininit.exe

我想用单反斜杠替换双反斜杠,以便 TMPEX 包含:

C:\Windows\System32\wininit.exe

我错过了什么?

  • 使用 sed 和理解此处字符串的 shell:

    TMPEX="$(sed 's/\\/\/g' <<< "$TMPEX")"
    
  • 或者,仍然使用 sed,对于不理解此处字符串的 shell:

    TMPEX="$(echo "$TMPEX" | sed 's/\\/\/g')"
    
  • 或者更好,如果 shell 理解模式替换:

    TMPEX="${TMPEX//\\/\}"