Hoje eu tive que remover os primeiros 1131 bytes de um arquivo de texto / binário de 800 MB, um despejo de subversão filtrado que estou procurando por um novo repositório. Qual é a melhor forma de fazer isso?
Para começar, tentei
dd bs=1 skip=1131 if=filtered.dump of=trimmed.dump
mas após o salto, ele copia o restante do arquivo, um byte de cada vez, ou seja, muito lentamente. No final, resolvi que precisava de 405 bytes para arredondar até três blocos de 512 que eu poderia pular
dd if=/dev/zero of=405zeros bs=1 count=405
cat 405zeros filtered.dump | dd bs=512 skip=3 of=trimmed.dump
que foi concluído rapidamente, mas deve ter havido uma maneira mais simples / melhor? Existe outra ferramenta que eu esqueci? Obrigado!
dd
é a ferramenta certa para o trabalho - parece que você encontrou uma solução agradável e elegante para o seu problema.