web-dev-qa-db-ja.com

バイナリファイルの最初の10バイトのみを取得する方法

私はファイルのヘッダー(最初の10バイト)を取得する必要があるbashスクリプトを書いており、別のセクションでは最初の10バイトを除くすべてを取得しています。これらはバイナリファイルであり、おそらく\0'砂 \nは、最初の10バイト全体で使用されます。ほとんどのユーティリティはASCIIファイルで動作するようです。このタスクを達成する良い方法は何ですか?

65
User1

すでに述べたように、最初の10バイトを取得するには:

head -c 10

最初の10バイトを除くすべてを取得するには(少なくともGNU tail)を使用):

tail -c+11
114
psmears

head -c 10ここで正しいことを行います。

36
moonshadow

dd コマンドを使用して、バイナリファイルから任意のバイト数をコピーできます。

dd if=infile of=outfile1 bs=10 count=1
dd if=infile of=outfile2 bs=10 skip=1
31
Mark Ransom