linux - 在分隔符处拆分文件

标签 linux awk split

我在 Linux 系统上有一个大约 10GB 的文件。它包含 20,000,000 条二进制记录,但每条记录由 ASCII 分隔符“$”分隔。我想使用 split 命令或其某种组合将文件分成更小的部分。理想情况下,我将能够指定该命令应将每 1,000 条记录(因此每 1,000 个分隔符)拆分为单独的文件。有人可以帮忙吗?

最佳答案

问题中唯一非正统的部分似乎是记录分隔符。我确信这在 awk 中可以很简单地修复 - 但我碰巧讨厌 awk

我会先将其转移到“正常”问题领域:

tr '$' '\n' < large_records.txt | split -l 1000

这将默认创建xaaxabxac...文件;看man split更多选择

关于linux - 在分隔符处拆分文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6200554/

相关文章:

bash awk 整数

java - 我可以解析日期以适合字符串数组吗?

linux - 符号链接(symbolic link)文件的 cscope

arrays - Bash 脚本和数组推送

linux - 比较两列并打印第二个文件中的第二列

bash - 在同一命令中删除重复行并覆盖文件

java - Android:如何用多行长的项目拆分一个很长的字符串?

c# - 将图像分割成几 block silverlight Windows Phone

c++ - 性能分析器结果

linux - 从路径的子目录读取文件并将它们附加到一个文件