首页 > 解决方案 > 写入文件直到达到一定大小,然后开始新文件

问题描述

我正在使用命令行工具twarc将 Twitter 数据下载为 csv。我已经设置了我的 twarc 命令,它们在命令行上成功执行,没有问题。示例命令:

twarc dosomething > outputfile.jsonl

虽然我想在很长一段时间内执行收集过程,但运行一天多后输出文件变得有点太大(10+GB)。

我想运行一个执行 twarc 命令的 bash 脚本,一直运行到输出文件达到某个限制,然后启动一个新文件。

这些问题相关...

...虽然我的翻译运气不佳。

任何人都可以提供一些有关设置基本 bash 脚本以执行命令、等到文件增长到 X 大小,然后在新文件上重新开始的见解吗?可以从那里拿走...

标签: pythonbash

解决方案


您正在寻找的工具恰如其分地命名为split

twarc dosomething | split -b 10G

如果您想避免在文件之间拆分行,您也可以通过行数来执行此操作,但您无法指定大小:

twarc dosomething | split -l 10000000

推荐阅读