¿Cómo hacer algo así dd if=somefile bs=1 skip=1337 count=31337000
, pero eficientemente, sin usar lecturas y escrituras que no sean de 1 byte?
La solución se espera:
- Para ser simple (para los no simples, puedo escribir una línea de Perl que haga esto)
- Para admitir grandes compensaciones y longitudes (por lo que los hacks con tamaño de bloque en dd no ayudarán)
Solución parcial (no lo suficientemente simple, intentar lo mismo con la longitud lo hará aún más complejo):
dd if=somefile bs=1000 skip=1 count=31337 | { dd bs=337 count=1 of=/dev/null; rest_of_pipeline; }
# 1337 div 1000 and 1337 mod 1000