Todos os utilitários de processamento de texto básico servem para atuar como filtros, e a maioria deve processar sua entrada como um fluxo (isto é, ler uma pequena entrada, processá-la, gravar a saída correspondente, repetir). dd é um pouco incomum, tanto pela sua sintaxe quanto pelas opções que oferece. dd é a única interface da shell para lseek e, como você percebeu, é desajeitado. Quando você chegar a este ponto, é hora de mudar para uma linguagem de script mais poderosa, como Perl ou Python.