我正在寻找一种将文件一分为二的方法,这里没有找到答案。我有一个大文件(有数百万行),想将它分成两个文件,总是按四行,即前四行(1,2,3,4)放在第一个输出文件中,后四行第(5,6,7,8)行进入第二个输出文件,然后前三行(9,10,11,12)再次进入第一个输出文件,依此类推。我敢肯定会有一种方法-可能使用awk(?),但我无法正确执行...非常感谢!
答案 0 :(得分:3)
您需要的只是
awk 'NR%4==1{c=!c} {print > ("out"c)}'
看:
$ seq 10 | awk 'NR%4==1{c=!c} {print $0 " > " ("out"c)}'
1 > out1
2 > out1
3 > out1
4 > out1
5 > out0
6 > out0
7 > out0
8 > out0
9 > out1
10 > out1
答案 1 :(得分:1)
另一个awk
awk '{print > "out_"((NR-1)%8>3)}' file