Jak zrobić coś takiego dd if=somefile bs=1 skip=1337 count=31337000
, ale wydajnie, nie używając nieczytelnych odczytów i zapisów?
Oczekiwane jest rozwiązanie:
- Mówiąc prościej (dla nie-prostych mogę napisać perel oneliner, który to zrobi)
- Do obsługi dużych przesunięć i długości (więc hacki o rozmiarze bloku w dd nie pomogą)
Częściowe rozwiązanie (nie dość proste, próba tego samego z długością sprawi, że będzie jeszcze bardziej skomplikowana):
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