Я пишу bash script, который должен получить заголовок (первые 10 байт) файла, а затем в другом разделе получить все, кроме первых 10 байтов. Это двоичные файлы и, вероятно, будут иметь \0
и \n
в течение первых 10 байтов. Похоже, большинство утилит работают с файлами ASCII. Каков хороший способ достичь этой задачи?
Как получить только первые десять байтов двоичного файла
Ответ 1
Чтобы получить первые 10 байтов, как уже отмечалось:
head -c 10
Чтобы получить все, кроме первых 10 байтов (по крайней мере, с GNU tail
):
tail -c+11
Ответ 2
Вы можете использовать команду dd
для копирования произвольного количества байтов из двоичного файла.
dd if=infile of=outfile1 bs=10 count=1
dd if=infile of=outfile2 bs=10 skip=1
Ответ 3
head -c 10
делает правильную вещь здесь.