web-dev-qa-db-ja.com

シェル用の16進エディターを推奨してください

シェルから実行できる16進エディターを推奨できますか?コンテンツを表示するだけでなく、編集できる必要があります。

61
aviran

emacsには、16進編集用のhexlモードがあります。

23
psusi
xxd

このツールは、このタイプのタスク用に見つけた最も一般的なものです(最新のUbuntuとmacOSの両方でデフォルトで利用可能です)。必要に応じて、-pを使用して右側のASCII読み取り可能部分を削除し、-r関数を使用して元に戻す(ASCIIデータをバイナリデータに変更)ことができます。いくつかの簡単な使用例を次に示します。

ASCIIビューで16進数に変換:

echo example | xxd

Hexdumpへの変換(右側にASCIIビューなし):

echo example | xxd -p

Hexdumpからバイナリデータへの変換:

echo 746573740a | xxd -p -r

シェルスクリプトでこれを使用すると、さらに複雑になります。実際にこれと「dd」を使用して特定のシーケンスをスキャンし、bash、dd、およびxxdのみを使用して、シェルスクリプトからすべてを事前定義された方法で変更しました。特定の場所に「シーク」して必要なバイトシーケンスをその場所に書き込むことができるため、実際にはddは必要ありません。このアプローチの最大の利点は、簡単にスクリプト化できることです。

73
Goblinlord

DHEX もあります

apt-cache show dhex

diffモードを備えたncursesベースの16進エディタ

これは単なる16進エディタではありません。2つのバイナリファイルを簡単かつ便利に比較するために使用できるdiffモードが含まれています。これはncursesに基づいており、テーマ設定可能であるため、任意の数のシステムおよびシナリオで実行できます。検索ログを利用することで、ファイルのさまざまな反復の変更を簡単に追跡できます。

Vimやemacsに慣れていない場合、これには学習曲線があまりないようです。

34
mivk

Vi/vimを16進エディタとして使用することもできます(xxdを呼び出すことができます)。

16進モードに入ります:

:%!xxd

16進モードを終了します。

:%!xxd -r

ソース: 16進エディタとしてviを使用

25
klcant

これは古い質問であることは知っていますが、ここでの答えはすべて不満でした。独自のバイナリファイル(別名挿入モード)を作成でき、非常に大きなファイルを処理できる16進エディタを探していました。

私は Tweak に出会いました。これは、これらの要件とOPの両方を満たします。

  • Tweakは挿入モードをサポートしています(実行可能ファイルまたはファイルシステムイメージを編集している場合は特に有用ではありませんが、PNGなどの他のファイル形式では非常に便利です)。
  • 編集中のファイル内での切り取り、コピー、貼り付けは非常に効率的です。移動するデータのチャンクがどれほど大きくても(たとえCDイメージの200MBセクションであっても)、Tweakは常に効果的に即座に操作を実行します。
  • Tweakは、入力ファイルの遅延読み込みをサポートしています:すべてをすぐにメモリに吸い込むのではなく、編集バッファーのどの部分が入力ファイルのどの部分のコピーであるかを単に覚えており、必要なときにディスク上のファイルを参照します。 Tweakは、ファイル全体を読み取るために本当に必要な場合にのみ、かなりの時間をかける必要があります。このプロパティを使用する2つの操作は、検索と、ファイルの変更バージョンのディスクへの保存のみです。それ以外はすべて瞬時です。
7
Gogeta70

Bless Hex Editor はバイナリ(16進数)エディターであり、現在次の機能を提供します。

  • 大きなデータファイルとブロックデバイスの効率的な編集。
  • マルチレベルの元に戻す-操作をやり直します。
  • カスタマイズ可能なデータビュー。
  • 画面上の高速データレンダリング。
  • 複数のタブ。
  • 高速な検索および置換操作。
  • データ変換テーブル。
  • 高度なコピー/貼り付け機能。
  • ファイル内の一致する選択パターンの強調表示。
  • プラグインベースのアーキテクチャ。
  • データをテキストおよびhtml(プラグインを持つその他)にエクスポートします。
  • データのビット演算。
  • 包括的なユーザーマニュアル。

ここからアンロードできます: http://packages.debian.org/sid/all/bless/download

インストールするには、 コマンドラインから.debファイルをインストールするにはどうすればよいですか? を参照してください。

もっといります?

4
Radu Rădeanu

これは非常に使いやすいです:

Sudo apt-get install hexcurse
2
HenryRootTwo

hexed を試してください。スクリプトとmakeファイルで使用するために作成されています。

2
b.zaar

htもあります。としてインストール

Sudo apt-get install ht

hteと入力して実行します。

ただし、実際に大きなファイル/パーティションで試したことはありません。

2
fjflores