LINUX.ORG.RU

echo -e, но наоборот

 , , ,


1

1

Можете подсказать такую программу:

$ echo -e '\x45\x43'
EC
$ <то, что я ищу> 'EC'
\x45\x43

Желательно чтобы работало на мейнстримных дистрибутивах GNU/Linux из коробки.

Спасибо.

$ echo -n "EC" | od -An -txC
 45 43
Kroz ★★★★★
()

тебе точно все символы надо преобразовывать? printf %q не хватит?

$ printf "%q\n" 'abc' 'quote"' 'backslash\' 'backtick`' 'space space'
abc
quote\"
backslash\\
backtick\`
space\ space
legolegs ★★★★★
()
echo -n EC | hexdump -e '"\\" /1  "x%02x"'; echo
mky ★★★★★
()
Последнее исправление: mky (всего исправлений: 1)
Ответ на: комментарий от legolegs

printf %q не хватит?

Ну русские символы оно в $'\320\277' преобразует. Не очень удобно. В принципе у Kroz красивый пример с read и printf, там LC_CTYPE=C даже не нужен, впрочем оно там всё равно бы не сработало, даже если и было нужно.

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.