私はファイルのヘッダー(最初の10バイト)を取得する必要があるbashスクリプトを書いており、別のセクションでは最初の10バイトを除くすべてを取得しています。これらはバイナリファイルであり、おそらく\0
'砂 \n
は、最初の10バイト全体で使用されます。ほとんどのユーティリティはASCIIファイルで動作するようです。このタスクを達成する良い方法は何ですか?
すでに述べたように、最初の10バイトを取得するには:
head -c 10
最初の10バイトを除くすべてを取得するには(少なくともGNU tail
)を使用):
tail -c+11
head -c 10
ここで正しいことを行います。
dd
コマンドを使用して、バイナリファイルから任意のバイト数をコピーできます。
dd if=infile of=outfile1 bs=10 count=1
dd if=infile of=outfile2 bs=10 skip=1