unix 拆分行号的文件基础

jaql4c8m  于 2022-11-04  发布在  Unix
关注(0)|答案(3)|浏览(300)

我有一个包含以下格式的记录的文件,你能告诉我Unix命令吗

333434
435435
435443
434543
343536

现在,总行数是89380,现在我想创建一个单独的
我正在尝试使用行号将我的大文件拆分成小文件。例如,我的文件有89380行,我想将其拆分成1000行的小文件。
你能建议unix命令来实现这个吗
可以在这里使用unix split命令..!!

7z5jn7bk

7z5jn7bk1#

使用split
语法split [options] filename prefix
将filename替换为要拆分的大文件的名称。将prefix替换为要为小输出文件指定的名称。可以排除[options],或将其替换为以下任一项:
-l行号
-B字节
如果使用-l(小写的L)选项,请将linenumber替换为每个较小文件中所需的行数(默认值为1,000)。如果使用-b选项,请将bytes替换为每个较小文件中所需的字节数。
split命令会给予它创建的每个输出文件一个名称前缀,前缀的末尾附加一个扩展名,以指示其顺序。默认情况下,split命令会在第一个输出文件中添加aa,在后续文件中按字母顺序添加zz。如果不指定前缀,大多数系统会使用x。

范例1:

split myfile

这将输出三个1000行的文件:xaa、xab和xac。

范例2:

split -l 500 myfile segment

这将输出六个500行的文件:段a、段b、段c、段d、段e和段f。

范例3:

假设myfile是一个160 KB的文件:

split -b 40k myfile segment

这将输出四个40 KB的文件:段a、段b、段c和段d。

jrcvhitl

jrcvhitl2#

我想你可以使用sed命令。
您可以使用sed -n "1, 1000p" yourfile > outputfile来获取第1行到第1000行。

jexiocij

jexiocij3#

您可以使用--lines开关或其缩写形式-l

split --lines=1000 input_file_name output_file_prefix

相关问题