The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Как отобразить символ по его hex-коду  в Shell"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Как отобразить символ по его hex-коду  в Shell" 
Сообщение от gres16 Искать по авторуВ закладки(ok) on 22-Янв-05, 10:18  (MSK)
Почему-то printf "\x2b" так и выводит \x2b
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от gres16 Искать по авторуВ закладки(??) on 22-Янв-05, 21:00  (MSK)
Неужели прийдется case'ом делать?
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от vnp emailИскать по авторуВ закладки(??) on 23-Янв-05, 02:07  (MSK)
>Почему-то printf "\x2b" так и выводит \x2b

printf $'\x2b'


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от gres16 emailИскать по авторуВ закладки(ok) on 24-Янв-05, 14:19  (MSK)
>>Почему-то printf "\x2b" так и выводит \x2b
>
>printf $'\x2b'


Извините, но Illegal variable name. говорит....

Может кто что скажет-таки?

Неужели никто форму на Sell не обрабатывал?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от chip emailИскать по авторуВ закладки(ok) on 24-Янв-05, 16:59  (MSK)
>>>Почему-то printf "\x2b" так и выводит \x2b
>>
>>printf $'\x2b'
>
>
>Извините, но Illegal variable name. говорит....

я так полагаю, у Вас [t]csh.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от gres16 emailИскать по авторуВ закладки(ok) on 24-Янв-05, 17:23  (MSK)
>>>>Почему-то printf "\x2b" так и выводит \x2b
>>>
>>>printf $'\x2b'
>>
>>
>>Извините, но Illegal variable name. говорит....
>
>я так полагаю, у Вас [t]csh.

В скрипте я используй /bin/sh

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от SergeiZz Искать по авторуВ закладки on 25-Янв-05, 09:48  (MSK)
>>>>>Почему-то printf "\x2b" так и выводит \x2b
>>>>
>>>>printf $'\x2b'
>>>
>>>
>>>Извините, но Illegal variable name. говорит....
>>
>>я так полагаю, у Вас [t]csh.
>
>В скрипте я используй /bin/sh
А ls -l /bin/sh что показывает?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от gres16 emailИскать по авторуВ закладки(ok) on 25-Янв-05, 17:23  (MSK)
>>>>>>Почему-то printf "\x2b" так и выводит \x2b
>>>>>
>>>>>printf $'\x2b'
>>>>
>>>>
>>>>Извините, но Illegal variable name. говорит....
>>>
>>>я так полагаю, у Вас [t]csh.
>>
>>В скрипте я используй /bin/sh
>А ls -l /bin/sh что показывает?

не ссылка, если вы об этом....

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от regunkov Искать по авторуВ закладки(ok) on 25-Янв-05, 17:10  (MSK)
>Почему-то printf "\x2b" так и выводит \x2b

bash-2.05b$ echo -e '\60\61\62\101\102\103'
012ABC

Восмеричная система.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от gres16 emailИскать по авторуВ закладки(ok) on 25-Янв-05, 17:24  (MSK)
>>Почему-то printf "\x2b" так и выводит \x2b
>
>bash-2.05b$ echo -e '\60\61\62\101\102\103'
>012ABC
>
>Восмеричная система.


а нужна именно 16-тиричная...

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от gres16 Искать по авторуВ закладки(ok) on 26-Янв-05, 22:30  (MSK)
Help хоть кто-нибудь
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от Soldier Искать по авторуВ закладки(??) on 27-Янв-05, 07:26  (MSK)
>Help хоть кто-нибудь
Ну не знаю. У меня printf "\x2b\n"  выдает +. Может какой-нибудь изврат попробовать типа
echo | awk '{printf ("\x2b\n"); }'  
Или перл привлечь или C.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от regunkov Искать по авторуВ закладки(ok) on 27-Янв-05, 13:29  (MSK)
>>>Почему-то printf "\x2b" так и выводит \x2b
>>
>>bash-2.05b$ echo -e '\60\61\62\101\102\103'
>>012ABC
>>
>>Восмеричная система.
>
>
>а нужна именно 16-тиричная...

Может можно как и попроще, но я решил в лоб.

str="30;31;32;2b;41;42;43"
str=$(echo -n ${str} | tr [[:lower:]] [[:upper:]])
str=$(echo -n \\; echo "ibase=16; obase=8; ${str}" | bc | tr '\n' '\\' | sed 's/\\$//')
echo -e ${str}

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от gres16 Искать по авторуВ закладки(ok) on 30-Янв-05, 09:57  (MSK)
>
>str="30;31;32;2b;41;42;43"
>str=$(echo -n ${str} | tr [[:lower:]] [[:upper:]])
>str=$(echo -n \\; echo "ibase=16; obase=8; ${str}" | bc | tr '\n'
>'\\' | sed 's/\\$//')
>echo -e ${str}

Слишком уж мудрено :) Прийдется просто sed'ом заменить...

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

14. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от ACCA Искать по авторуВ закладки(??) on 01-Фев-05, 00:37  (MSK)
>Почему-то printf "\x2b" так и выводит \x2b

sh-2.05b$ printf "\x2b\n"
+
sh-2.05b$ sh --version
GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
Copyright (C) 2002 Free Software Foundation, Inc.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

15. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от chip emailИскать по авторуВ закладки(ok) on 03-Фев-05, 16:38  (MSK)
>sh-2.05b$ sh --version
>GNU bash,
^^^^^^^^^

+++ version 2.05b.0(1)
    ^^^^^^^^^^^^^^^^^^

~ % printf "\x2b\n"
x2b
~ % uname -rs
FreeBSD 5.3-RELEASE
~ %


  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от Soldier Искать по авторуВ закладки(??) on 03-Фев-05, 19:41  (MSK)
>>sh-2.05b$ sh --version
>>GNU bash,
>^^^^^^^^^
>
>+++ version 2.05b.0(1)
>    ^^^^^^^^^^^^^^^^^^
>
>~ % printf "\x2b\n"
>x2b
>~ % uname -rs
>FreeBSD 5.3-RELEASE
>~ %

У  bash есть свой встроенный printf и если его (bash) поставить, то должно отобразиться как надо. Кстати в Линукс внешний printf тоже нормально это дело понимает и отображает.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

17. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от gres16 Искать по авторуВ закладки(ok) on 06-Фев-05, 13:09  (MSK)
Сменил все символы sed-ом, и не парюсь, ибо время поджимает - а работает нормально.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

18. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от chip emailИскать по авторуВ закладки(ok) on 07-Фев-05, 01:07  (MSK)
>>>sh-2.05b$ sh --version
>>>GNU bash,
>>^^^^^^^^^
>>
>>+++ version 2.05b.0(1)
>>    ^^^^^^^^^^^^^^^^^^
>>
>>~ % printf "\x2b\n"
>>x2b
>>~ % uname -rs
>>FreeBSD 5.3-RELEASE
>>~ %
>
>У  bash есть свой встроенный printf и если его (bash) поставить,

ну это я понимаю :) Мне уже просто самому стало интересно.

>Кстати в Линукс внешний printf тоже
>нормально это дело понимает и отображает.

не знаю, что там идет с Линуксом.

~ % /usr/bin/printf "\x2b\n"
x2b
~ %

все для той же версии FreeBSD :)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

19. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от Soldier Искать по авторуВ закладки(??) on 07-Фев-05, 15:18  (MSK)
/usr/bin/printf --version

printf (GNU sh-utils) 2.0.11
Автор программы -- David MacKenzie.

Copyright (C) 2000 Free Software Foundation, Inc.
Это свободная программа; подробности об условиях распространения
смотрите в исходном тексте.  Мы НЕ предоставляем гарантий; даже гарантий
КОММЕРЧЕСКОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ КАКОЙ-ЛИБО ЦЕЛИ.

А у вас? Тоже интересно стало :)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

20. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от ACCA Искать по авторуВ закладки(ok) on 09-Фев-05, 22:56  (MSK)
/usr/bin/printf --version
printf (GNU coreutils) 5.2.1
Written by David MacKenzie.

Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

21. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от Soldier Искать по авторуВ закладки(??) on 10-Фев-05, 10:06  (MSK)
>/usr/bin/printf --version
>printf (GNU coreutils) 5.2.1
>Written by David MacKenzie.
>
>Copyright (C) 2004 Free Software Foundation, Inc.
>This is free software; see the source for copying conditions.  There
>is NO
>warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Ну у вас судя по всему тоже Линуксовый, причем из последних дистров. Мне вот как оно во Фре интересно :)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

22. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от XAnder Искать по авторуВ закладки(??) on 11-Фев-05, 19:18  (MSK)
>Ну у вас судя по всему тоже Линуксовый, причем из последних дистров.
>Мне вот как оно во Фре интересно :)

FreeBSD 4.10

% man printf
...
BUGS
...
     ANSI hexadecimal character constants were deliberately not provided.
...
%

Может, в этом дело?

printf во фре не GNUтый, а свой (--version не работает :) )

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

23. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от Agp emailИскать по авторуВ закладки(??) on 15-Фев-05, 08:39  (MSK)
У меня во FreeBSD, если внутренний башевский printf отрабатывает то будет нормальный плюс, если /usr/bin/printf то фигня, наверно по указанной выше причине:
BUGS
...
     ANSI hexadecimal character constants were deliberately not provided.
...
В скрипте нужно поставить #!/usr/local/bin/bash и будет номана
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

24. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от chip emailИскать по авторуВ закладки(??) on 17-Фев-05, 10:57  (MSK)
>В скрипте нужно поставить #!/usr/local/bin/bash и будет номана

#!/usr/bin/env bash

корректнее...

ps: тащить за собой bash из-за банальго "hex-преобразования" :(. ИМХО, решение с sed'ом куда более красивым видится.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

25. "Как отобразить символ по его hex-коду  в Shell" 
Сообщение от gres16 Искать по авторуВ закладки(??) on 19-Фев-05, 09:49  (MSK)
>ps: тащить за собой bash из-за банальго "hex-преобразования" :(.
Это точно!

>ИМХО, решение с
>sed'ом куда более красивым видится.

Да  с sed'ом не очень красиво, но униврсально! :)

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру