Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 根据行号拆分文件_Unix - Fatal编程技术网

Unix 根据行号拆分文件

Unix 根据行号拆分文件,unix,Unix,我有一个包含以下格式记录的文件,请您通知unix命令好吗 333434 435435 435443 434543 343536 现在总行数是89380,现在我想创建一个seprate 我正在尝试使用行号将我的大文件分割成小块。例如,我的文件有89380行,我想把它分成小文件,其中有1000行 您能建议unix命令来实现这一点吗 可以在此处使用unix拆分命令 使用split 语法split[options]文件名前缀 将filename替换为要拆分的大文件的名称。将前缀替换为要为小输出文件指定

我有一个包含以下格式记录的文件,请您通知unix命令好吗

333434
435435
435443
434543
343536
现在总行数是89380,现在我想创建一个seprate

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

您能建议unix命令来实现这一点吗

可以在此处使用unix拆分命令

使用
split

语法
split[options]文件名前缀

将filename替换为要拆分的大文件的名称。将前缀替换为要为小输出文件指定的名称。您可以排除[选项],或将其替换为以下任一选项:

-l行号

-b字节

如果使用-l(小写l)选项,请将linenumber替换为每个较小文件中所需的行数(默认值为1000)。如果使用-b选项,请将字节替换为每个较小文件中所需的字节数

split命令将为它创建的每个输出文件提供名称前缀,并在其末尾添加一个扩展名,以指示其顺序。默认情况下,split命令会将aa添加到第一个输出文件中,在后续文件中通过字母表转到zz。如果不指定前缀,则大多数系统使用x

示例1:

split myfile
split -l 500 myfile segment
这将输出三个1000行文件:xaa、xab和xac

示例2:

split myfile
split -l 500 myfile segment
这将输出六个500行文件:segmentaa、segmentab、segmentac、segmentad、segmentae和segmentaf

示例3:

split myfile
split -l 500 myfile segment
假设myfile是一个160KB的文件:

split -b 40k myfile segment
这将输出四个40KB的文件:segmentaa、segmentab、segmentac和segmentad。

我想您可以使用这个命令


您可以使用
sed-n“1100p”yourfile>outputfile
获取第1行到第1000行

我很高兴地发现,
split
包含在我的
cygwin
installation-+1中,用于解决一个大文件问题!
split -l 1000 input_file_name output_file_prefix