我在Linux系統上有一個大約10GB的文件。它包含20,000,000個二進制記錄,但每個記錄由ASCII分隔符「$」分隔。我想使用split命令或其組合將文件分塊成較小的部分。理想情況下,我可以指定該命令應該將每1,000條記錄(因此每1,000個分隔符)拆分爲單獨的文件。有人能幫忙嗎?在分隔符上分割文件
5
A
回答
5
問題的唯一非傳統部分似乎是記錄分隔符。我敢肯定,這可以在awk中修復 - 但我碰巧討厭awk
。
我會在「正常」的問題,第一境界其轉移:
tr '$' '\n' < large_records.txt | split -l 1000
默認將創建xaa
,xab
,xac
......文件;看man split
更多選項
2
我愛awk的:)
BEGIN { RS="$"; chunk=1; count=0; size=1000 }
{
print $0 > "/tmp/chunk" chunk;
if (++count>=size) {
chunk++;
count=0;
}
}
(注意,awk中的重定向操作者只需截斷/創建它的第一次調用的文件 - 後續引用被視爲附加業務 - 不像外殼重定向)
1
確保在默認情況下Unix的分裂將後綴耗盡一旦它到達的2更多信息缺省後綴限制最大閾值:https://www.gnu.org/software/coreutils/manual/html_node/split-invocation.html
相關問題
- 1. 如何在自己的分隔符上分割文件?
- 2. Python:使用多分割分隔符分割文件
- 3. 分割帶分隔符
- 4. 空白分隔符分割
- 5. 分割分隔字符串
- 6. 使用系統文件分隔符分割文件名
- 7. 基於bash.how中的字符串分隔符分割文件?
- 8. 用unicode分隔符分割字符串?
- 9. 使用字符分隔符分割列
- 10. 由分隔符分割字符串
- 11. PHP字符串分割由分隔符
- 12. Haskell - 按分隔符分割字符串
- 13. 分割字符串由分隔符
- 14. 在分隔符上分割一個字符串
- 15. 在bash中的分隔符上分割一個字符串?
- 16. 分割各種分隔符,同時保持分隔符?
- 17. 在二進制分隔符上分割一個二進制文件?
- 18. 如何分割而忽略分隔符
- 19. Java多重分割 - 保留分隔符
- 20. 分割使用Word分隔符
- 21. Regexp按分隔符分割多行
- 22. Perl分割函數 - 連續分隔符
- 23. 用空行分隔符分割
- 24. 用分隔符分割列表
- 25. 逗號分隔字符串分割
- 26. JavaScript RegExp分割保存分隔符
- 27. 分割線與兩個分隔符
- 28. 如何使用Akka Streams在分隔符上分割入站流
- 29. 使用SOH分隔符在bash中分割一行文本
- 30. 在分隔符之前/之後用空文本分割Perl
這完美地工作了它產生的記錄直到它出現錯誤(我認爲這是一個非常簡單的修復)。錯誤是:split:輸出文件後綴耗盡。謝謝你的幫助! – 2011-06-01 12:22:59
呃...我修復了你的manpage鏈接; ['split ... -a 7'](http://unixhelp.ed.ac.uk/CGI/man-cgi?split)應該做得很好 – sehe 2011-06-01 12:35:48
非常好。很棒! – 2011-06-01 12:39:45