2016-05-07 4 views
0

Я хотел бы преобразовать шестнадцатеричную строку в байтовую строку в Linux с помощью сценария bash или команды. Например, я хотел бы преобразовать эту шестнадцатеричную строку, то есть 00124a5b в байтовую строку, то есть \ x00 \ x12 \ x4a \ x5bКак преобразовать шестнадцатеричную строку в строку байта в Linux

Спасибо.

Plasma33

ответ

3

Вы можете воспользоваться поиском замены функциональных возможностей в sed: поиск

echo "00124a5b" | sed 's/../\\x&/g' 
\x00\x12\x4a\x5b 

Две точки для любых двух символов в потоке. Счет \\x& заменяет его на \x, за которым следует матч. Добавление g в конец сообщает sed продолжить поиск/замену.

Я бы изучил этот учебник для sed: http://www.grymoire.com/Unix/Sed.html На этом сайте есть несколько других руководств для других полезных команд.

+0

Отлично! Это именно то, чего я хотел. Спасибо за кучи за ваш вклад здесь и за краткую информацию. Plasma33 – plasma33

Смежные вопросы