我正在使用命令行工具twarc将 Twitter 数据下载为 csv。我已经设置了 twarc 命令,它们在命令行上成功执行,没有问题。命令示例:twarc dosomething > outputfile.jsonl虽然我想在较长时间内执行收集过程,但运行一天多后输出文件变得有点太大(10+GB)。我想运行一个执行 twarc 命令的 bash 脚本,运行直到输出文件达到一定限制,然后启动一个新文件。这些问题是相关的...当文件达到一定大小时将数据添加到新文件写入文件直到达到一定大小...尽管我的翻译运气不佳。任何人都可以提供一些有关设置基本 bash 脚本来执行命令、等待文件增长到 X 大小,然后重新开始处理新文件的见解吗?可以从那里拿走...
2 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
您正在寻找的工具的名称很恰当split
:
twarc dosomething | split -b 10G
如果您想避免在文件之间分割行,您也可以通过行计数来执行此操作,但您无法指定大小:
twarc dosomething | split -l 10000000
慕容森
TA贡献1853条经验 获得超18个赞
另一个工具是logrotate
.
它通常按计划运行,cron
并在其配置文件中指定要拆分的日志文件、如何、何时、存档、邮件以及要保留多少历史记录。
这样做的好处logrotate
是您的应用程序根本不需要实现任何日志轮换策略。他们只需要将日志写入文件或stdout
重定向到文件中。
添加回答
举报
0/150
提交
取消