і навпаки.
Я запускаю RedHat, якщо це доречно.
і навпаки.
Я запускаю RedHat, якщо це доречно.
Відповіді:
Ви не можете цього зробити, оскільки для такого перетворення потрібно знати значення бінарного вмісту.
Якщо, наприклад, є рядок всередині двійкового файлу, він не повинен бути перетворений, а 4-байтне ціле число може потребувати іншого трактування, ніж двобайтове ціле число.
Іншими словами, для перетворення порядку байт потрібен опис типу даних.
Ви можете виконувати обмін bytes dd
. Це достатньо? Якщо ні, будь ласка, оновіть своє запитання, щоб навести приклад вхідного файлу та очікуваного виходу.
echo hello >infile
dd conv=swab <infile >outfile
hex infile
0000 68 65 6c 6c 6f 0a hello.
hex outfile
0000 65 68 6c 6c 0a 6f ehll.o
Якщо ви не переймаєтесь вмістом файлів і просто хочете поміняти байти, спробуйте endconv . Це просто обгортка навколо стандартних функцій перетворення байтів, тому вона підтримує перетворення на 2, 4 та 8 байт довгих цілих чисел. Це не один лайнер, тому що це окрема програма.