LINUX.ORG.RU

Нужна помощь в создании однострочника

 ,


0

4

Дается путь к файлу в винде:

D:\Temp\SomeFile\file.zip
Однострочник должен сделать из него путь к директории в которой лежит это файл для cygwin:
/cygdrive/d/Temp/SomeFile
Получилось сделать в две строки:
path=$(echo ${file//\\//} | cut -b 3- )
path="/cygdrive/d$(echo ${path%/*})"

Не могу понять как сделать в одну строку. Диск всегда один и тот же, путь всегда разный.

P.S. bash only



Последнее исправление: Disova (всего исправлений: 1)

$ echo "D:\Temp\SomeFile\file.zip" | sed -r 's|([A-Z]):\\(.+)\\.+|/cygdrive/\1/\2|g; s|\\|/|g'
/cygdrive/D/Temp/SomeFile
$
anonymous
()
Ответ на: Сделал без cygpath от Disova

С помощью регулярок

path="/cygdrive/d/$(expr $(expr $(echo ${file//\\//}) : '\(^.*/\)') : '^.*:/\(.*\)')"
Disova
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.