如何在Bash中将一个文件分割成每个块中有1000行的块?
我有一个6200行长的文件,看起来像:如何在Bash中将一个文件分割成每个块中有1000行的块?,bash,bioinformatics,Bash,Bioinformatics,我有一个6200行长的文件,看起来像: chrom chromStart chromEnd score a a.1 1 chr1 834359 867552 4 0.020979021 0.0000000000 2 chr1 1880283 1940830 9 0.075757576 0.0000000000 3 chr1 1960387 2064958 13 0.115093240 0.00065
chrom chromStart chromEnd score a a.1
1 chr1 834359 867552 4 0.020979021 0.0000000000
2 chr1 1880283 1940830 9 0.075757576 0.0000000000
3 chr1 1960387 2064958 13 0.115093240 0.0006596306
4 chr1 2206040 2249092 5 0.019230769 0.0000000000
5 chr1 2325759 2408930 11 0.021296885 0.0080355001
我需要把文件分成1000行长的文件。如何做到这一点?这听起来像是POSIX命令的一个例子:
这会将“要拆分的文件”拆分为1000行的文件(当然最后一行除外),名称将以
前缀开头。
并以aa
,ab
,ac
,…是否希望在一个文件中包含第1..1000行,在另一个文件中包含第1001..2000行,依此类推,还是只想在另一个文件中包含1000..2000行?这两种方法都是可行的(很容易做到),但您的做法不同(sed
vssplit
)。此外,您是否需要在每个输出文件中保留标题行?问题标题与实际问题不同的典型情况。XY问题。@Jonathan Leffler,1..1000在一个文件中。1001…2000在另一个。我之所以选择这个标题,是因为如果有人回答这个问题。我可以从那里开始回答我自己的问题。你自己有没有努力解决这个问题?如果是,请说明您尝试了什么。由于您缺乏足够的努力,这个问题很可能会被否决并结案。
split -l 1000 file-to-be-split prefix.