Как получить произвольный кусок из файла в unix / linux [duplicate]

This question already has an answer here:

How do I extract a single chunk of bytes from within a file? 4 answers

Я пытаюсь скопировать кусок из одного двоичного файла в новый файл. У меня есть смещение байта и длина фрагмента, который я хочу получить.

Я пытался использоватьdd утилита, но это, кажется, читает и отбрасывает данные вплоть до смещения, а не просто ищет (я думаю, потому что dd для копирования / преобразования блоков данных). Это делает его довольно медленным (и медленнее, чем выше смещение. Это команда, которую я пробовал:

dd if=inputfile ibs=1 skip=$offset count=$datalength of=outputfile

Я думаю, я мог бы написать небольшой Perl / Python / любой другой скрипт, чтобы открыть файл, искать смещение, затем читать и записывать необходимое количество данных в виде кусков.

Есть ли утилита, которая поддерживает что-то подобное?

Ответы на вопрос(6)

Ваш ответ на вопрос