Bashの任意のバイト数オフセットから始まるファイルを読み取ることはできますか?

Bashの任意のバイト数オフセットから始まるファイルを読み取ることはできますか?

8GBログ(テキスト)どこかで日付を見つけたいです。

何らかの方法で完全な順次読み取りをバイパスし、最初にファイル(サイズ)のバイナリ分割を実行するか、何らかの方法でファイルシステムをナビゲートすることができますinodes非常に素数)、適切なオフセットが見つかるまで、各分割点で読み取りを開始します。日付を含む行のテキスト検索をどこで開始しますか?

tail最後の行の読み取りは、通常の順次読み取りを使用せずにこのツールをbashで使用できるのか、PythonやC / C ++を使用する必要があるのか​​疑問に思います...しかし、bash特に1つのオプションに興味があります。 。

ベストアンサー1

あなたが望むようです:

tail -c +1048576

またはスキップするバイト数。プラス記号は、テールにファイルの終わりではなく開始から測定を開始するよう指示します。 GNUバージョンのtailを使用している場合は、次のように書くことができます。

tail -c +1M

ファイルの残りの部分をすべて切り取るのではなく、固定バイト数を取得するには、ヘッドを介してパイプするだけです。

tail -c +1048576 | head -c 1024

おすすめ記事