cd에 대한 인수로 sed 파이프의 결과를 가져올 수 없습니다.

cd에 대한 인수로 sed 파이프의 결과를 가져올 수 없습니다.

작동 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에서는 의미가 없습니다.

관련 정보