і навпаки.
Я запускаю 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 байт довгих цілих чисел. Це не один лайнер, тому що це окрема програма.