Я взломал некоторые скрипты, пытаясь проанализировать некоторые данные, написанные Javas DataOutputStream#writeLong(...)
. Поскольку java всегда, по-видимому, пишет с прямым порядком байтов, у меня проблема с передачей байтов в od
. Это связано с тем, что od
всегда предполагает, что порядковый номер соответствует порядковому порядку арки, в которой вы находитесь в данный момент, а я на машине с прямым порядком байтов.
Я ищу простой однострочный, чтобы изменить порядок следования байтов. Допустим, вы знаете, что последние 8 байтов файла - это длинный, записанный вышеупомянутым методом writeLong(...)
. Моя лучшая попытка напечатать это длинное
tail -c 8 file | tac | od -t d8
, но tac
только работает над текстом (достаточно справедливо). Я нашел некоторые ссылки на dd conv=swab
, но это только меняет местами байты парами и не может обратить эти восемь байтов в обратном порядке.
Кто-нибудь знает хороший однострочник для этого?