Использование hexdump для репликации команды xxd

501
Adel Boutros

На моей текущей рабочей станции у меня есть только hexdumpи мне не разрешено устанавливать другие пакеты, такие как xxd. Поэтому мне нужно перевести эту команду xxd в эквивалент hexdump

echo "my home is very good 002_" | xxd -p -c 256 #Output: 6d7920686f6d65206973207665727920676f6f64203030325f0a   echo "my home is very good 002_" | hexdump -e '256 1 "%x"' #Output: 6d7920686f6d65206973207665727920676f6f64203030325fa 

Как видите, в конце вывода есть дополнительный «0», что означает, что мое решение не работает.

Не могли бы вы мне помочь?

0

1 ответ на вопрос

0
Andrew Domaszek

Попробуйте использовать %02xв качестве спецификатора формата для hexdump. Один байт не будет иметь префикс с нулем, если вы не скажете это. К сожалению, это начнёт заполнять ваши строки, если вы не удалите их.

Например:

echo "" | hexdump -e '256 1 "%02x"' #Output: 0a[followed by a significant amount of whitespace] 

Чтобы точно соответствовать поведению, вы можете комбинировать hexdump с fold:

echo "" | hexdump -e '"%02x"' | fold -b -w512 

Похожие вопросы