我有一個有效的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 中沒有任何意義。