Чи можете ви порекомендувати шестигранний редактор, який можна запустити з оболонки? Мені потрібно вміти редагувати не лише перегляд вмісту.
Чи можете ви порекомендувати шестигранний редактор, який можна запустити з оболонки? Мені потрібно вміти редагувати не лише перегляд вмісту.
Відповіді:
emacs
має шестигранний режим для шістнадцяткового редагування.
dd
область, яку ви бажаєте відредагувати у файл, і відкрийте його в emacs, потім dd
поверніть його назад.
xxd
Цей інструмент є найпоширенішим, який я знайшов для цього типу завдань (доступний за замовчуванням як для останніх Ubuntu, так і для macOS). Ви можете видалити частину, прочитану ascii праворуч, якщо потрібно, використовуючи функцію, -p
і ви можете повернути (змінити вхід ascii на двійкові дані) за допомогою -r
функції. Ось кілька простих прикладів використання:
Перетворення в шістнадцятковий з видом ascii:
echo example | xxd
Перетворення в гексад-дамп (відсутній вигляд ascii праворуч):
echo example | xxd -p
Перетворення з шестинадцяткового назад у двійкові дані:
echo 746573740a | xxd -p -r
Ви можете отримати набагато складніше з цим у скриптах оболонки. Я фактично використовував це і "дд", щоб сканувати певні послідовності та змінювати їх заздалегідь визначеним способом, все із скрипту оболонки, використовуючи нічого, крім bash dd
, та xxd
. Насправді вам для цього не потрібен ні дд, оскільки ви можете "шукати" певне місце і записувати в це місце послідовність байтів, яка вам потрібна. Найбільшою перевагою такого підходу є його легко написаний сценарій.
Є також DHEX
apt-cache show dhex
ncurses на основі шестигранного редактора з різним режимом
Це більше, ніж просто ще один шістнадцятковий редактор: він включає різний режим, за допомогою якого можна легко та зручно порівнювати два двійкові файли. Оскільки він заснований на ncurses і є тематичним, він може працювати на будь-якій кількості систем та сценаріїв. За допомогою використання журналів пошуку можна легко відслідковувати зміни в різних ітераціях файлів.
Якщо ви не знайомі з vim або emacs, у цього, схоже, немає великої кривої навчання.
Ви можете також використовувати vi / vim як шестигранний редактор (він може викликати xxd).
Увійдіть у шестигранний режим:
:%!xxd
Вихід із шестигранного режиму:
:%!xxd -r
:%!xxd
додавання нових символів (тобто нового рядка) у файл.
xxd
хто робить: скоріше сам Vim.
:set binary
! В іншому випадку VIM, ймовірно, може пошкодити файл, додавши в кінці файлу рядок (CR / LF / CRLF) (залежно від того, для якого формату встановлено ( set ff=[mac/unix/dos]
)). Це велика ймовірність зламати виконувані файли та файли даних. І це робить. Багато. Переконайтесь, що VIM перебуває у бінарному режимі, це запобіжить цьому.
Я знаю, що це старе питання, але я був незадоволений усіма відповідями тут. Я шукав шестнадцятковий редактор, який дозволив би мені створити власні бінарні файли (він же вставний режим) і міг обробляти дуже великі файли.
Я натрапив на перетворення , яке відповідає обом цим вимогам, а також ОП.
- Tweak підтримує режим вставки (не особливо корисно, якщо ви редагуєте виконуваний файл або зображення файлової системи, але може бути надзвичайно зручним в інших форматах файлів, таких як PNG).
- Вирізання, копіювання та вставлення у файл, який ви редагуєте, надзвичайно ефективний. Незалежно від того, наскільки великий фрагмент даних ви пересуваєте - навіть якщо це розділ на 200 Мб зображення CD - Tweak завжди виконає операцію ефективно миттєво.
- Tweak підтримує ледаче завантаження вхідного файлу: замість того, щоб всмоктувати все це в пам'ять відразу, він просто запам'ятовує, які частини буфера редагування є копіями, які частини вхідного файлу і посилаються на файл на диску, коли це потрібно. Налаштування лише потребує значного часу, коли вам справді потрібно, щоб прочитати весь файл. Єдині дві операції з цим властивістю - це пошук та збереження модифікованої версії файлу на диску. Все інше - миттєве.
tweak
, але для мене це було незручно. Я можу спробувати ще раз, якщо мені справді потрібно редагування. Запустіть man tweak
з терміналу огляд та список команд.
Bless Hex Editor - це бінарний (шестнадцятковий) редактор і в даний час надає такі функції:
Ви можете завантажити його звідси: http://packages.debian.org/sid/all/bless/download .
Щоб встановити його, див. Як встановити файл .deb через командний рядок?
Потрібно більше?
bless
команди після встановлення.
Спробуйте шістнадцятковий , він призначений для використання в скриптах та створення файлів.
Цей мертвий простий у використанні:
sudo apt-get install hexcurse