gpt4 book ai didi

file - 如何按行号将大文件拆分成小文件

转载 作者:行者123 更新时间:2023-12-04 15:26:02 25 4
gpt4 key购买 nike

我正在尝试使用行号将我的大文件拆分成小块。例如我的文件有 30,000,000 行,我想将其分成小文件,其中有 10,000 行(相当于 3000 个小文件)。

我在 unix 中使用了“拆分”,但它似乎仅限于 100 个文件。

有没有办法克服 100 个文件的限制?

如果还有其他方法,请告知。

谢谢。

最佳答案

使用 GNU awk

gawk '
BEGIN {
i=1
}
{
print $0 > "small"i".txt"
}
NR%10==0 {
close("file"i".txt"); i++
}' bigfile.txt

测试:

[jaypal:~/temp] seq 100 > bigfile.txt

[jaypal:~/temp] gawk 'BEGIN {i=1} {print $0 > "small"i".txt" } NR%10==0 { close("file"i".txt"); i++ }' bigfile.txt

[jaypal:~/temp] ls small*
small1.txt small10.txt small2.txt small3.txt small4.txt small5.txt small6.txt small7.txt small8.txt small9.txt

[jaypal:~/temp] cat small1.txt
1
2
3
4
5
6
7
8
9
10

[jaypal:~/temp] cat small10.txt
91
92
93
94
95
96
97
98
99
100

关于file - 如何按行号将大文件拆分成小文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16753131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com