Как разделить файл на две части по 4 строки в Unix - PullRequest
0 голосов
/ 24 июня 2018

Я ищу способ, как разбить мой файл на две части, не нашел ответа здесь.У меня есть большой файл (с миллионами строк), и я хотел бы разбить его на два файла, всегда на четыре строки, т.е. первые четыре строки (1,2,3,4) идут в первом выходном файле, вторые четырестроки (5,6,7,8) идут во второй выходной файл, затем третьи четыре строки (9,10,11,12) снова идут в первый выходной файл и т. д. Я уверен, что будет способ- возможно, используя awk (?), но я не могу понять это правильно ... Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

еще awk

awk '{print > "out_"((NR-1)%8>3)}' file
0 голосов
/ 25 июня 2018

Все, что вам нужно, это

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
...