Czy możesz polecić edytor szesnastkowy, który można uruchomić z powłoki? Muszę móc edytować nie tylko przeglądać zawartość.
64
Czy możesz polecić edytor szesnastkowy, który można uruchomić z powłoki? Muszę móc edytować nie tylko przeglądać zawartość.
Odpowiedzi:
emacs
ma tryb hexl do edycji szesnastkowej.źródło
dd
region, który chcesz edytować w pliku i otwórz go w emacsie, a następnie zdd
powrotem.To narzędzie jest najczęściej dostępne, jakie znalazłem dla tego typu zadań (domyślnie dostępne zarówno w najnowszym Ubuntu, jak i macOS). W razie potrzeby możesz usunąć część czytelną ascii po prawej stronie
-p
i możesz przywrócić (zmienić dane ascii na dane binarne) za pomocą tej-r
funkcji. Oto kilka prostych przykładowych zastosowań:Konwersja na hex w widoku ascii:
Konwertowanie na zrzut heksowy (brak widoku ascii po prawej):
Konwertowanie z zrzutu heksadecymalnego z powrotem na dane binarne:
Możesz stać się o wiele bardziej skomplikowany w skryptach powłoki. Użyłem tego i „dd” do skanowania w poszukiwaniu określonych sekwencji i modyfikowania ich w predefiniowany sposób, wszystko ze skryptu powłoki, używając tylko bash
dd
, ixxd
. Tak naprawdę nie potrzebujesz do tego dd, ponieważ możesz „szukać” do określonej lokalizacji i zapisać w tej lokalizacji potrzebną sekwencję bajtów. Największą zaletą tego podejścia jest łatwość pisania skryptów.źródło
Istnieje również DHEX
apt-cache show dhex
Jeśli nie znasz Vima ani Emacsa, ten nie wydaje się mieć dużej krzywej uczenia się.
źródło
Możesz także używać vi / vim jako edytora szesnastkowego (może wywoływać xxd).
Wejdź w tryb szesnastkowy:
Wyjdź z trybu hex:
Źródło: Używanie vi jako edytora szesnastkowego
źródło
:%!xxd
dodawanie nowych znaków (tj. Nowej linii) do pliku.xxd
kto to robi: raczej sam Vim.:set binary
! W przeciwnym razie VIM może uszkodzić plik, dodając koniec linii (CR / LF / CRLF) na końcu pliku (w zależności od tego, jaki format ma ustawiony na (set ff=[mac/unix/dos]
)). Jest bardzo prawdopodobne, że spowoduje to uszkodzenie plików wykonywalnych i plików binarnych danych. I tak jest. Dużo. Upewnij się, że VIM jest w trybie binarnym, aby temu zapobiec.Wiem, że to stare pytanie, ale nie byłem zadowolony z wszystkich odpowiedzi tutaj. Szukałem edytora szesnastkowego, który pozwoliłby mi tworzyć własne pliki binarne (inaczej tryb wstawiania) i mógł obsługiwać bardzo duże pliki.
Natknąłem się na poprawki , które spełniają oba te wymagania, a także PO.
źródło
tweak
, ale dla mnie było to niezręczne. Mogę spróbować ponownie, jeśli naprawdę potrzebuję edycji. Uruchomman tweak
z terminala, aby wyświetlić przegląd i listę poleceń.Bless Hex Editor to edytor binarny (hex) i obecnie oferuje następujące funkcje:
Możesz to zrobić stąd: http://packages.debian.org/sid/all/bless/download .
Aby go zainstalować, zobacz Jak zainstalować plik .deb za pomocą wiersza polecenia?
Potrzeba więcej?
źródło
bless
polecenia po zainstalowaniu.Spróbuj hexed , jest przeznaczony do użycia w skryptach i tworzenia plików.
źródło
Ten jest bardzo prosty w użyciu:
źródło
Jest też
ht
. Zainstaluj jakoa następnie uruchom go, wpisując
hte
.Jednak nie próbowałem tego z naprawdę dużymi plikami / partycjami.
źródło