Bash 脚本中的 Linux SED 命令从字符串中剥离 '

标签 linux sed strip

我一直在整理一个 bash 脚本,我需要在其中更新一个包含一些必要信息的文件。我正在使用的命令如下:

sudo sed '
/end/ a\
First line to update\
  param 1 'var1'\
  param 2 'var2'\
  param 3 'var3'\
  param 4 'var4'\
end\
' TestFile >TestFileNew

现在应该用数据更新文件并且应该如下所示:

end
First line to update
  param 1 'var1'
  param 2 'var2'
  param 3 'var3'
  param 4 'var4'
end

文件确实已创建并且数据在其中,但它似乎从文本中删除了 ' 符号,我不希望这种情况发生,有人可以帮忙吗?下面是实际生成的示例:

end
First line to update
  param 1 var1
  param 2 var2
  param 3 var3
  param 4 var4
end

最佳答案

使用""作为外引号:

sudo sed "
/end/ a\\
First line to update\\
  param 1 'var1'\\
  param 2 'var2'\\
  param 3 'var3'\\
  param 4 'var4'\\
end\\
" TestFile >TestFileNew

关于Bash 脚本中的 Linux SED 命令从字符串中剥离 ',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11762743/

相关文章:

linux - 进程完成后的 CPU 时间

python - 如何从 extract_first() 输出中删除 xpath?

python - 分隔 csv 并去除空格以生成新的 csv

java - 从 linux 传输到 windows 时换行符丢失

c - 在 Linux 中使用系统 ("command")

MySQL 'select now()' 与 linux 'date' 不同步

bash - 如何过滤掉./gradle project:dependencies命令的特定部分? (版本2)

regex - 需要将存储在 bash 变量中的 IP 地址分解为八位字节

linux - Unix 字符串在文件中查找和替换

gcc - "gcc -s"和 "strip"命令有什么区别?