在 GNU sed(以及我所知道的几乎所有其他发行版)中:
SET VAR=C:\nyc
sed "s/PATH/%VAR%/g" file.txt
导致任何出现的 PATH 被替换为后跟“yc”的新行。在我的例子中,VAR 始终是用户提供的文字(它是 Windows 路径)。如何禁用“\”的默认解释? (我知道一些技巧,比如将 VAR 保存在一个文件中,并将 VAR 中的所有“\”替换为“\\”,然后将其传递给 sed)
最佳答案
您可以在 Windows 命令外壳中修改 %var%
:
>type file PATH PATH >set var=C:\nyc >sed "s/PATH/%VAR%/g" file C: yc C: yc >set var=%var:\=\\% >echo %var% C:\\nyc >sed "s/PATH/%VAR%/g" file C:\nyc C:\nyc
关于windows - 禁用sed中反斜杠的转义功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17295136/