【发布时间】:2014-11-13 20:14:48
【问题描述】:
如何将一个文件拆分为 3 个行数相等(或几乎相等)的文件而不会断行。
例如,将一个 25 行的文件拆分为 3 个文件,每个文件 9,8 和 8 行。
我知道split -n l/3,但不适用于 Solaris10。
尝试了一些我上网的东西,但没有给出想要的结果,例如:
!/usr/bin/ksh
fspec=~/input.list
num_files=3
total_lines=$(wc -l <${fspec})
((lines_per_file = (total_lines + num_files - 1) / num_files))
split -l ${lines_per_file} ${fspec} files.
【问题讨论】:
-
请展示您的尝试并解释您遇到的问题
-
@Jotne:如果这就是他所尝试的全部范围,那么他不值得任何帮助
-
@Borodin,尝试了一些我上网但没有给出预期结果的东西,例如:
#!/usr/bin/ksh fspec=~/input.list num_files=3 total_lines=$(wc -l <${fspec}) ((lines_per_file = (total_lines + num_files - 1) / num_files)) split -l ${lines_per_file} ${fspec} files. -
@user3437245:请通过编辑您的问题添加此类信息。与其到处寻找现成的解决方案来解决您的问题,尤其是 Korn shell 解决方案,您自己想一个解决方案难道不感兴趣吗?你知道任何编程语言吗?到目前为止,听起来你真的是做错了。
标签: perl shell awk solaris solaris-10