我想根据字符计数(ASCII 很好)分割输入文件,并结合新行。也就是说,每组 10000 个字符应被视为一条记录,通过管道传输到子进程中,但如果第 10000 个字符恰好不在行末尾,则应包含整行(因此超过 10000 个字符)提供字符)。每条线应被视为一个不可分割的实体。
通过 GNU 并行(或者可能通过一系列其他可能有用的工具)可以实现这一点吗?
答案1
你所要求的几乎是:
seq 100000 | parallel --block 10k --pipe wc
它会传递一个大约 10000 字节的块,wc
但只会给出完整的行。
它不能保证该块至少为 10 KB,但最多为一行。