我有一个大的(按线数)纯文本文件,我想分成较小的文件,也按行数.因此,如果我的文件有大约2M行,我想将它分成10个包含200k行的文件,或者包含20k行的100个文件(加上一个包含剩余部分的文件;均匀可分的无关紧要).
我可以在Python中相当容易地做到这一点,但我想知道是否有任何一种使用bash和unix utils的忍者方式(而不是手动循环和计数/分区行).
我有一些与管道一起工作的 shell 脚本,例如:
foo.sh | bar.sh
Run Code Online (Sandbox Code Playgroud)
我bar.sh调用了一些只能接受一定数量的标准输入行的命令行程序。因此,我希望将foo.sh的大标准输出分成 N 行以进行多次bar.sh调用。本质上, paginatefoo.sh的 stdout 并执行多个bar.sh.
是否可以?我希望在管道之间有一些魔法,比如foo.sh | ??? | bar.sh. xargs -n并没有完全得到我想要的。