Answers:
您可以使用dd if=logfile of=pieceoflogfile skip=startingblock count=#ofblocks
(可能使用with bs=1
获得一个字节的块,否则它使用512字节的块)。不过,不确定告诉它一次写入一个字节有多有效。
dd
可以将2个管道连接在一起(第一个可以切掉脂肪块,第二个可以在管道上做得很好,而不是磁盘上),但是dd
不仅bs
分离ibs
而且obs
还可以,所以至少它可以输出比读取更大的块。
假设文件不是太大(例如,几个GB左右),则从一个管道到另一个管道的管道传输将达到您所需要的效率,而无需编写自己的程序即可。
head ... file | tail ...
(或者相反。以任何一个为准。)
time dd if=file.txt | wc -l
= 00:00:03s。time dd if=file.txt ibs=1 count=782090815 | wc -l
= 9:05:19