我的问题在这里可能很不清楚。我有一个巨大的文本文件,其值如下所示
0.00601233
0.000139403
0.000133679
0.000139497
0.000141683
0.000141888
0.000138646
0.000133465
0.000146326
0.000135611
...
我想把它分成几个 100 行的文件。
文件1
将包含第 1 行到第 100 行。
文件2
将包含第 101 至 200 行。
ETC...
可能有一种方法可以使用sed
or来完成此操作awk
,但我对这些工具或正则表达式不够熟悉,无法在这里完成我想要的操作。
答案1
使用split
命令:
split -l 100 file
默认情况下split
生成输出文件xaa
、xab
等,但您可以在末尾指定前缀,并根据需要获取纯数字后缀:
split -d -l 100 file PREFIX
该命令将创建文件PREFIX01
、PREFIX02
等。这-d
选项是 GNU 扩展,因此并非所有系统都支持它。在这种情况下,或者,您可以在事后使用简单的 shell 循环重命名它们 - 它总是生成按顺序排序的文件名。