用 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"

相關內容