Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在unix中按4行分段将文件拆分为两个_Unix_Awk_Split - Fatal编程技术网

如何在unix中按4行分段将文件拆分为两个

如何在unix中按4行分段将文件拆分为两个,unix,awk,split,Unix,Awk,Split,我正在寻找一种方法,如何将我的文件一分为二,在这里还没有找到答案。我有一个大文件(有数百万行),我想把它分成两个文件,总是四行,即前四行(1,2,3,4)进入第一个输出文件,后四行(5,6,7,8)进入第二个输出文件,然后第三四行(9,10,11,12)再次进入第一个输出文件,等,我相信会有一个方法-可能使用awk(?)但我不能得到它的权利。。。非常感谢 你所需要的就是 awk 'NR%4==1{c=!c} {print > ("out"c)}' 看: 你所需要的只是 awk 'NR%4

我正在寻找一种方法,如何将我的文件一分为二,在这里还没有找到答案。我有一个大文件(有数百万行),我想把它分成两个文件,总是四行,即前四行(1,2,3,4)进入第一个输出文件,后四行(5,6,7,8)进入第二个输出文件,然后第三四行(9,10,11,12)再次进入第一个输出文件,等,我相信会有一个方法-可能使用awk(?)但我不能得到它的权利。。。非常感谢

你所需要的就是

awk 'NR%4==1{c=!c} {print > ("out"c)}'
看:

你所需要的只是

awk 'NR%4==1{c=!c} {print > ("out"c)}'
看:


另一个
awk

awk '{print > "out_"((NR-1)%8>3)}' file

另一个
awk

awk '{print > "out_"((NR-1)%8>3)}' file

实际上,如果你按照描述的步骤操作,结果应该是2个文件。@marcel:啊,对了,误读了问题。如果你按照描述的步骤操作,结果应该是2个文件。@marcel:啊,对了,误读了这个问题。这只会在某些AWK中起作用,因为输出重定向右侧的未细化表达式是未定义的行为。但您知道……这只在某些AWK中起作用,因为输出重定向右侧的未细化表达式是未定义的行为。但你知道。。。。