Как преобразовать строку в двоичный целочисленный файл с помощью командной строки под Linux - PullRequest
3 голосов
/ 08 января 2009

Я хочу взять целое число, представленное в виде строки, например, «1234», и преобразовать его в файл с именем int, содержащий 32-разрядное целое число с прямым порядком байтов, со значением 1234.

Единственный способ, которым я понял, это что-то вроде

echo 1234 | awk '{printf "0: %08X", $1}' | xxd -r > int

что немного противно!

Кто-нибудь знает лучший способ?

Ответы [ 3 ]

5 голосов
/ 08 января 2009

Немного проще было бы:

printf "0: %08X" 1234 | xxd -r > int
3 голосов
/ 12 января 2009

хорошо, хорошо видя, что Марк Уильямс, кажется, пошел хорошо, я опубликую исправленную версию его ответа

echo 1234 | perl -e 'print pack("N", <STDIN>); > int
0 голосов
/ 08 января 2009

это похоже на такой же вывод в моей системе. обязательно отметьте perldoc -f pack.

echo '1234' | perl -e 'print pack("nn", 0,<STDIN>);' > int

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...