GNU/Linux >> Znalost Linux >  >> Linux

Převeďte binární data na hexadecimální ve skriptu shellu

S od (systémy GNU):

$ echo abc | od -A n -v -t x1 | tr -d ' \n'
6162630a

S hexdumpem (systémy BSD):

$ echo abc | hexdump -ve '/1 "%02x"'
6162630a

Z Hex dump, od a hexdump :

"V závislosti na typu vašeho systému bude k dispozici jeden nebo oba tyto dva nástroje - systémy BSD zavrhují hexdump, systémy GNU naopak."


Možná použijte xxd :

% xxd -l 16 -p /dev/random
193f6c54814f0576bc27d51ab39081dc

Pozor!

hexdump a xxd uveďte výsledky v jiné endianness!

$ echo -n $'\x12\x34' | xxd -p
1234
$ echo -n $'\x12\x34' | hexdump -e '"%x"'
3412

Jednoduše vysvětleno. Big-endian vs. little-endian :D


Linux
  1. Časový limit ve skriptu Shell?

  2. Určení cesty ke zdrojovému skriptu Shell?

  3. Procesy v relaci v interaktivním prostředí versus ve skriptu?

  1. Paralelní spuštění skriptu shellu

  2. Aktuální adresář skriptu Shell?

  3. Jak mohu převést dvouhodnotová textová data na binární (bitová reprezentace)

  1. Určit prostředí ve skriptu za běhu?

  2. Jak vložit spustitelný binární soubor do skriptu Shell bez dalších nástrojů?

  3. Jak připojit data do vyrovnávací paměti ve skriptu Shell?