У меня есть рабочая 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.