Як зробити щось подібне 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