Как сделать что-то вроде dd if=somefile bs=1 skip=1337 count=31337000
, но эффективно, не используя не 1-байтовые операции чтения и записи?
Ожидается решение:
- Чтобы быть простым (для непростых я могу написать некоторый Perl oneliner, который сделает это)
- Поддерживать большие смещения и длины (так что хаки с размером блока в dd не помогут)
Частичное решение (не достаточно простое, попытка того же самого с длиной сделает его еще более сложным):
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