拆分行号的文件基础

时间:2013-11-25 06:27:46

标签: unix

我可以建议使用unix命令,因为我有一个包含以下格式记录的文件

333434
435435
435443
434543
343536

现在总行数是89380,现在我想创建一个单独的

我正在尝试使用行号将我的大文件拆分成小块。例如我的文件有89380行,我想把它分成小文件,其中有1000行。

请你指教unix命令来实现这个目标

可以在这里使用unix split命令.. !!

3 个答案:

答案 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
相关问题