我正在使用命令行工具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
提交
取消