linux - 在 Linux/bash 下拆分文件及其行

标签 linux bash large-files filesplitting

我有一个相当大的文件(1.5 亿行,每行 10 个字符)。我需要将它分成 150 个文件,每行 200 万行,每个输出行交替地是源代码行的前 5 个字符或最后 5 个字符。 我可以在 Perl 中相当快地完成此操作,但我想知道是否有使用 bash 的简单解决方案。 有什么想法吗?

最佳答案

家庭作业? :-)

我认为一个带有 sed(将每行分成两行)和 split(将内容分成多个文件)的简单管道就足够了。

man 命令是你的 friend 。


确认不是作业后添加:

怎么样

sed 's/\(.....\)\(.....\)/\1\n\2/' input_file | split -l 2000000 - out-prefix-

?

关于linux - 在 Linux/bash 下拆分文件及其行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63870/

相关文章:

Linux/bash 解析文本输出,选择字段,仅忽略一个字段中的空值

linux - Bash 对 CSV 大文件进行排序并将输出排序到单独的文件

node.js - 在node.js中随机访问大文件(需要支持64位文件偏移量)?

c# - 上传和接收使用 ASP.NET 进行 http 压缩的大文件会给出 "unexpected end of mime multipart stream"

python - 如何加快此文件创建过程?

linux - 服务器只接受一次并终止

linux - 从 docker 容器中获取 Linux 主机指标

c++ - 如何使用套接字连续接受来自不同客户端的多条消息?

bash - 将文件分成单独的文件,每个文件 10,000 行

bash - 如何在 shell 脚本中使用个人访问 token 访问 GitHub API?