Skip first 3 bytes of a file
Old school — you could use dd
:
dd if=A_FILE bs=1 skip=3
The input file is A_FILE
, the block size is 1 character (byte), skip the first 3 'blocks' (bytes). (With some variants of dd
such as GNU dd
, you could use bs=1c
here — and alternatives like bs=1k
to read in blocks of 1 kilobyte in other circumstances. The dd
on AIX does not support this, it seems; the BSD (macOS Sierra) variant doesn't support c
but does support k
, m
, g
, etc.)
There are other ways to achieve the same result, too:
sed '1s/^...//' A_FILE
This works if there are 3 or more characters on the first line.
tail -c +4 A_FILE
And you could use Perl, Python and so on too.
Instead of using cat
you can use tail
as such:
tail -c +4 FILE
This will print out the entire file except for the first 3 bytes. Consult man tail
for more information.