Відповіді:
DareDevil команд Unix, ddна допомогу!
dd if=yourfile ibs=1 skip=200 count=100
Це починається з байту 200 і показує 100 наступних байтів, або, іншими словами, байтів 200-300. ibsозначає, що dd зчитує лише один байт за один раз замість 512 байтів за замовчуванням, але все ще виписує в замовчуванні фрагменти 512 байтів. Подивіться, чи ibsшкодить виступ, я сподіваюся, що ні.
Ви можете використовувати dd if=logfile of=pieceoflogfile skip=startingblock count=#ofblocks(можливо, bs=1для отримання однобайтових блоків, інакше він використовує 512 байт-блоки). Не впевнений, наскільки ефективно сказати йому писати один байт за один раз.
dd-х можна з'єднати в ланцюги (1-й може вирізати шматок жиру, а другий - добре виконати роботу над трубою, а не диском), але ddмає не тільки, bsале окремо, ibsі obsтак, принаймні, це може виводити з більшими блоками, ніж читання.
Якщо припустити, що файл не надто великий (наприклад, кілька Гб або близько того), передача даних від одного до другого настільки ж ефективна, як ви отримаєте, якщо не написати власну програму для цього.
head ... file | tail ...
(Або навпаки. Що б там не було.)
time dd if=file.txt | wc -l= 00: 00: 03 с.time dd if=file.txt ibs=1 count=782090815 | wc -l= 9:05:19