1

在 GNU sed(以及我所知道的几乎所有其他发行版)中:

SET VAR=C:\nyc
sed "s/PATH/%VAR%/g" file.txt

导致任何出现的 PATH 都被替换为后跟“yc”的新行。在我的情况下,VAR 始终是用户提供的文字(它是 Windows 路径)。如何禁用'\'的默认解释?(我知道一些技巧,比如将 VAR 保存在文件中,并将 VAR 中的所有“\”替换为“\\”,然后将其传递给 sed)

4

1 回答 1

3

您可以%var%在 Windows 命令外壳中进行修改:

>类型文件
小路
小路

>set var=C:\nyc

>sed "s/PATH/%VAR%/g" 文件
C:
yc
C:
yc

>设置 var=%var:\=\\%

>回声%var%
C:\\纽约

>sed "s/PATH/%VAR%/g" 文件
C:\纽约
C:\纽约
于 2013-06-25T11:16:19.747 回答