Я пытаюсь перевести мои старые файлы конфигурации PortaPuTTY в формат файла конфигурации KiTTY.
PortaPutty использует формат 'Field = Value', а KiTTY использует формат 'Field \ Value \'.
Я могу перевести из PortaPuTTY в формат KiTTY с помощью:
sed -i -e 's / = / \ / g' -e 's /.$/\/'
so
LogFileName=putty.log
LogType=0
...
переводится в:
LogFileName\putty.log\
LogType\0\
...
и т. Д.
Однако в формате KiTTY специальные символы переводятся в печатный шестнадцатеричный формат.Например:
PublicKeyFile=C:\Users\user.name\mykey.ppk
необходимо перевести на:
PublicKeyFile\C%3A%5CUsers%5Cuser.name%5Cmykey.ppk\
Похоже, что диапазоны значений, которые выражаются в печатном шестнадцатеричном виде вместо обычного ascii, равны 0x20-0x2F, 0x3A-0x3F или 0x7B-0x7F.
Есть ли хороший способ перевести это с помощью sed, awk, python и т. Д.?