如何在大文件中间抓取随机部分?

Wil*_*mKF 3 linux tail debug logfiles head

我有一个大约 3.5 GB 的巨大日志文件,并且想在 10 MB 中间采样随机部分,以便调试我的应用程序正在执行的操作。

我可以使用 head 或 tail 命令来获取文件的开头或结尾,如何从文件中间获取任意部分?我想我可以做类似的事情,head -n 1.75GB | tail -n 10MB但这似乎很笨拙,我需要确定文件中点的行号以获得 1.75GB 和 10MB 的行数。

kmk*_*kmk 6

$ dd if=big_file.bin skip=1750 ibs=1MB count=10 of=big_file.bin.part
Run Code Online (Sandbox Code Playgroud)

您可能想花一些时间阅读和理解 dd。