【发布时间】:2021-06-17 00:52:00
【问题描述】:
我想在 .bat 脚本中使用 sed 命令替换文本文件的第二行。我可以在没有任何特殊字符的情况下执行此操作,例如:
sed -i 2s/.*/SUCCESS/ file.txt
但是我要插入的文本如下:
outfolder = "G:\Folder with Space and Quotes\"
如果我使用命令:
sed -i 2s/.*/outfolder = "G:\Folder with Space and Quotes\"/ file.txt
结果是错误:
sed: -e expression #1, char 15: unterminated `s' command
我想它不喜欢特殊字符?我该如何解决这个问题?
【问题讨论】:
-
您将不得不转义所需字符串中的一堆不同字符(至少是空格、反斜杠和引号),但我不确定这里的转义字符是否是
\因为sed或者是^因为批处理。
标签: windows batch-file sed replace