用 sed 替换 Windows 上的路径?

用 sed 替换 Windows 上的路径?

我试图删除所有包含当前目录的路径,所以我这样做了

my_command | sed "s/%CD%//ig"

在命令提示符中,但它不起作用——一切都和以前一样。

我该如何让它工作呢?

答案1

您的命令的问题在于反斜杠被视为转义字符,而不是文字反斜杠。

您可以通过将转义的目录名称存储在辅助变量中来解决这个问题%dir%

for /f "tokens=*" %a in ('echo %cd%^| sed "s/\\/\\\\/g"') do set dir=%a

(如果在批处理文件中使用,请将每个替换%a%%a。)

您现在可以sed照常使用:

my_command | sed "s/%dir%//ig"

相关内容