Antworten:
Der Draufgänger der Unix-Befehle dd
zur Rettung!
dd if=yourfile ibs=1 skip=200 count=100
Das würde ab Byte 200 beginnen und 100 nächste Bytes oder mit anderen Worten, Bytes 200-300 anzeigen. ibs
bedeutet, dass dd nur jeweils ein Byte anstelle der Standard-512-Bytes liest, aber weiterhin in Standard-512-Byte-Chunks schreibt. Gehen Sie und sehen Sie, ob ibs
die Leistung schadet, ich hoffe nicht.
Sie können verwenden dd if=logfile of=pieceoflogfile skip=startingblock count=#ofblocks
(möglicherweise mit bs=1
, um Ein-Byte-Blöcke zu erhalten, andernfalls werden 512-Byte-Blöcke verwendet). Ich bin mir nicht sicher, wie effizient es ist, es anzuweisen, jeweils ein Byte zu schreiben.
dd
‚s kann zusammen Rohr gekettet sein (die ersten könnte fettes Stück geschnitten und die zweite feine Arbeit über das Rohr, nicht Scheibe tun würde), aber dd
hat nicht nur , bs
aber getrennt ibs
und obs
als gut, so bei Zumindest könnte es mit größeren Blöcken als Lesen ausgegeben werden.
Vorausgesetzt, die Datei ist nicht übermäßig groß (z. B. mehrere GB oder so), ist das Weiterleiten von einer zur nächsten so effizient wie möglich, abgesehen vom Schreiben eines eigenen Programms.
head ... file | tail ...
(Oder umgekehrt. Egal.)
time dd if=file.txt | wc -l
= 00: 00: 03s.time dd if=file.txt ibs=1 count=782090815 | wc -l
= 9:05:19