Как отформатировать путь DOS к пути Unix на cygwin командной строке

При использовании Cygwin я часто копирую путь Windows и вручную редактирую все наклонные черты к формату Unix. Например, если я использую Cygwin и потребность изменить каталог, я вхожу:

cd C:\windows\path 

затем отредактируйте это к

cd C:/windows/path  

(Как правило, путь намного длиннее, чем это). Существует ли способ использовать sed или что-то еще, чтобы сделать это автоматически? Например, я попробовал:

echo C:\windows\path|sed 's|\\|g'  

но получил следующую ошибку

sed: -e expression #1, char 7: unterminated `s' command

Моя цель состоит в том, чтобы уменьшить ввод, поэтому возможно, я мог записать программу, которую я мог назвать. Идеально я ввел бы:

conversionScript cd C:/windows/path 

и это было бы эквивалентно вводу:

cd C:\windows\path
16
задан Paused until further notice. 14 April 2010 в 22:44
поделиться

3 ответа

Прочтите о команде cygpath.

somecommand `cygpath -u WIN_PATH`

например.

13
ответ дан 30 November 2019 в 16:14
поделиться

cmd.exe не любит одинарные кавычки. Вы должны использовать двойные кавычки

C:\test>echo C:\windows\path|sed "s|\\|/|g"
C:/windows/path
1
ответ дан 30 November 2019 в 16:14
поделиться

Всем спасибо. По-видимому, все, что мне нужно, это одинарные кавычки вокруг пути:

cd 'C: \ windows \ path'

, и Cygwin его преобразует. Cygpath тоже будет работать, но ему также нужны одинарные кавычки, чтобы оболочка не съела символы обратной косой черты.

27
ответ дан 30 November 2019 в 16:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: