1
在GNU sed的(和几乎所有的其他分派我知道的):禁用反斜线的脱出功能在sed
SET VAR=C:\nyc
sed "s/PATH/%VAR%/g" file.txt
引起路径的任何发生与新的一行后跟“YC”取代。在我的情况下,VAR始终是用户提供的文字(这是一个Windows路径)。我如何禁用'\'的默认解释? (我知道像一个文件保存VAR和更换所有黑客“\”与VAR“\\”,然后把它传递给SED)
为什么不用双反斜杠替换所有反斜杠? – captcha
是的,这是完全可能的。问题是我有很多这样的变量,这些变量也被用在“复制”命令中,所以我需要为每个变量引入临时变量,而且这些变量很难看。我只想知道这是否可以在单个sed命令中执行。 – PoP
这个问题似乎是windows/shell的具体问题,因为我没有注意到%VAR%会被扩展,扩展“$ VAR”会导致'sed'省略“C:nyc”而不是换行符。 –