为了账号安全,请及时绑定邮箱和手机立即绑定

写入文件直到达到一定大小,然后开始新文件

写入文件直到达到一定大小,然后开始新文件

江户川乱折腾 2023-10-05 16:53:23
我正在使用命令行工具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


查看完整回答
反对 回复 2023-10-05
?
慕容森

TA贡献1853条经验 获得超18个赞

另一个工具是logrotate.

它通常按计划运行,cron并在其配置文件中指定要拆分的日志文件、如何、何时、存档、邮件以及要保留多少历史记录。

这样做的好处logrotate是您的应用程序根本不需要实现任何日志轮换策略。他们只需要将日志写入文件或stdout重定向到文件中。


查看完整回答
反对 回复 2023-10-05
  • 2 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信