Text 如何使用awk将每N行转换为一列?

Text 如何使用awk将每N行转换为一列?,text,awk,gawk,Text,Awk,Gawk,我有一个单列文本文件,如下所示: John Doe Male 1984 Marie Parker Female 1989 John Doe Male 1984 Marie Parker Female 1989 我想把它转换成这样: John Doe Male 1984 Marie Parker Female 1989 John Doe Male 1984 Marie Parker Female 1989 我尝试过使用awk和modulo,但我无法找到有效的解决方案 $ pr -4at f

我有一个单列文本文件,如下所示:

John
Doe
Male
1984
Marie
Parker
Female
1989
John Doe Male 1984
Marie Parker Female 1989
我想把它转换成这样:

John
Doe
Male
1984
Marie
Parker
Female
1989
John Doe Male 1984
Marie Parker Female 1989
我尝试过使用
awk
和modulo,但我无法找到有效的解决方案

$ pr -4at file

John              Doe               Male              1984
Marie             Parker            Female            1989
还是你的格式

$ pr -4ats' ' file
John Doe Male 1984
Marie Parker Female 1989
当然有
awk

$ awk 'ORS=NR%4?FS:RS' file

John Doe Male 1984
Marie Parker Female 1989
使用
粘贴

$ paste -d' ' - - - - < file
John Doe Male 1984
Marie Parker Female 1989
$paste-d'--