我可以建议使用unix命令,因为我有一个包含以下格式记录的文件
333434
435435
435443
434543
343536
现在总行数是89380,现在我想创建一个单独的
我正在尝试使用行号将我的大文件拆分成小块。例如我的文件有89380行,我想把它分成小文件,其中有1000行。
请你指教unix命令来实现这个目标
可以在这里使用unix split命令.. !!
答案 0 :(得分:8)
使用split
语法split [options] filename prefix
将filename替换为您要拆分的大文件的名称。将前缀替换为您希望提供小输出文件的名称。您可以排除[options],或将其替换为以下任一项:
-l linenumber
-b bytes
如果使用-l(小写L)选项,请将linenumber替换为每个较小文件中您想要的行数(默认值为1,000)。如果使用-b选项,请将字节替换为每个较小文件中的字节数。
split命令将为每个输出文件创建名称前缀,并在末尾添加一个指示其顺序的扩展名。默认情况下,split命令会将aa添加到第一个输出文件,然后将字母表继续到zz以用于后续文件。如果未指定前缀,则大多数系统使用x。
<强>例1:强>
split myfile
这将输出三个1000行文件:xaa,xab和xac。
<强>例2:强>
split -l 500 myfile segment
这将输出六个500行文件:segmentaa,segmentab,segmentac,segmentad,segmentae和segmentaf。
<强>示例3:强>
假设myfile是一个160KB的文件:
split -b 40k myfile segment
这将输出四个40KB文件:segmentaa,segmentab,segmentac和segmentad。
答案 1 :(得分:0)
我认为您可以使用sed命令。
您可以使用sed -n "1, 1000p" yourfile > outputfile
将第1行连接到第1000行。
答案 2 :(得分:0)
split -l 1000 input_file_name output_file_prefix