通过不仅仅读取行来拆分大文本文件

Bil*_*ose 1 io fseek go

我有一个大文本文件,我想分成任意数量的较小的文件.我需要的行为几乎与split终端命令相同,只是我需要文件在最后一行重叠.也就是说,第一个文件的最后一行是第二个文件的第一行,第二个文件的最后一行是第三个文件的第一行,等等.

天真的解决方案似乎从原始文本文件中读取行并在必要时拆分.我想知道是否有一个标准库函数可以让我处理字节而不是字符串,以便更容易地统一分割文本文件.

fseek在Go中是否有类似于让我这样做的东西?

pet*_*rSO 5

例如,

包os

func (*File) Seek

func (f *File) Seek(offset int64, whence int) (ret int64, err error)

Seek设置offset为下一个Read或Write在文件上offset,根据whence以下方式解释:0表示相对于文件的原点,1表示相对于当前偏移,2表示相对于结尾.它返回新的偏移量和错误(如果有的话).