我在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. 分割文件名由期分隔
- 8. 在python中解析txt文件很難按分隔符分割
- 9. 分割使用分隔符「/」在Linux
- 10. 基於bash.how中的字符串分隔符分割文件?
- 11. 使用String.split()將文本分隔符分割爲csv文件
- 12. 使用字符分隔符分割列
- 13. 分割字符串分隔符
- 14. 按分隔符分割大字符串
- 15. 分割字符串由分隔符
- 16. Haskell - 按分隔符分割字符串
- 17. PHP字符串分割由分隔符
- 18. 用unicode分隔符分割字符串?
- 19. 按分隔符分割字符串
- 20. 由分隔符分割字符串
- 21. Powershell - 在兩個不同分隔符上分割字符串
- 22. 在分隔符上分割一個字符串
- 23. 在bash中的分隔符上分割一個字符串?
- 24. 如何文件分割成多個文件基於一個分隔符,並刪除分隔符,在Unix中
- 25. 分割各種分隔符,同時保持分隔符?
- 26. 在二進制分隔符上分割一個二進制文件?
- 27. AWK按分隔符和計數分割文件
- 28. 分割使用Word分隔符
- 29. 分割線與兩個分隔符
- 30. 用分隔符分割列表
這完美地工作了它產生的記錄直到它出現錯誤(我認爲這是一個非常簡單的修復)。錯誤是: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