我有一个巨大的 csv 文件,其中包含标题行和数十万条记录。
我想把它分成多个文件,每个文件都包含相同的标题和超过 10.000 条记录或剩下的内容
如果我不关心标题,我会做 split -l 10000 myfile
。但是,我需要每个文件都包含标题
我该怎么做?
答案 0 :(得分:3)
拆分文件,排除标题:
tail -n +2 myfile | split -l 10000 - prefix-
获取标题行:
head -1 myfile > header
然后将其附加到所有生成的文件中:
for file in prefix-*; do
cat header $file > $file.new
mv $file.new $file
done