無法取得 sed 管道的結果作為 cd 的參數

無法取得 sed 管道的結果作為 cd 的參數

我有一個有效的echo+ sed 命令

echo %cd% | sed -E 's#(C\:\\\some\\\path\\\)([-_A-Za-z0-9]+).*#\1\2#g'

我無法將其結果用作參數cd(Windows,cmder)

~~=cd $(echo %cd% | sed -E 's#(C\:\\\some\\\path\\\)([-_A-Za-z0-9]+).*#\1\2#g')

錯誤:

檔案名稱、目錄名稱或卷標語法不正確。 sed:-e 表達式 #1,字元 49:「s」的未知選項

我究竟做錯了什麼?

答案1

's#(C\:\\\some\\\path\\\)([-_A-Za-z0-9]+).*#\1\2#g'

應該

's#(C\:\\some\\path\\)([-_A-Za-z0-9]+).*#\1\2#g'

您正在刪除第一個“)”中的特殊含義"\)"

但 '%cd%' 在 Linux 或 Bash 中沒有任何意義。

相關內容