如何在unix中按4行分段将文件拆分为两个
我正在寻找一种方法,如何将我的文件一分为二,在这里还没有找到答案。我有一个大文件(有数百万行),我想把它分成两个文件,总是四行,即前四行(1,2,3,4)进入第一个输出文件,后四行(5,6,7,8)进入第二个输出文件,然后第三四行(9,10,11,12)再次进入第一个输出文件,等,我相信会有一个方法-可能使用awk(?)但我不能得到它的权利。。。非常感谢 你所需要的就是如何在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
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中起作用,因为输出重定向右侧的未细化表达式是未定义的行为。但你知道。。。。