我在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