Чи можете ви порекомендувати шестигранний редактор, який можна запустити з оболонки? Мені потрібно вміти редагувати не лише перегляд вмісту.
Чи можете ви порекомендувати шестигранний редактор, який можна запустити з оболонки? Мені потрібно вміти редагувати не лише перегляд вмісту.
Відповіді:
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