Bash:使用带有可变行号的sed,并在行替换中使用变量

kus*_*old 4 bash sed

所以我看到了这个问题:替换从变量获取完整行的编号, 这非常相似,但是在我的情况下,我试图使用多个变量:一个用于行号[lineNo],一个用于替换[transFormatted]的文本,在[OUTPUT_FILE]中应查找的文件,我尝试了数十种组合以尝试使其识别所有这些变量,但似乎无济于事。不管我尝试哪种方式,这都是不快乐的。我究竟做错了什么?

sed -e '${lineNo}s/.*/${transFormatted}/' < $OUTPUT_FILE
Run Code Online (Sandbox Code Playgroud)

Ign*_*ams 5

单引号禁止参数扩展。

sed -e "${lineNo}s/.*/$transFormatted/" < "$OUTPUT_FILE"
Run Code Online (Sandbox Code Playgroud)

  • 我仍然收到错误消息“sed:-e 表达式 #1,字符 36:'s' 的未知选项” (2认同)