Como pegar um trecho arbitrário de um arquivo no unix / linux [duplicado]
Esta questão já tem uma resposta aqui:
Como faço para extrair um único pedaço de bytes de dentro de um arquivo? 4 respostasEu estou tentando copiar um pedaço de um arquivo binário em um novo arquivo. Eu tenho o deslocamento de byte e comprimento do pedaço que eu quero pegar.
Eu tentei usar odd
utilitário, mas isso parece ler e descartar os dados até o deslocamento, ao invés de apenas procurar (eu acho que porque dd é para copiar / converter blocos de dados). Isso torna muito lento (e mais lento quanto maior o deslocamento. Este é o comando que eu tentei:
dd if=inputfile ibs=1 skip=$offset count=$datalength of=outputfile
Eu acho que eu poderia escrever um pequeno script perl / python / whatever para abrir o arquivo, procurar o deslocamento, depois ler e gravar a quantidade necessária de dados em partes.
Existe um utilitário que suporta algo assim?