如何在unix中将行转换为列

use*_*321 2 unix

我希望我的Unix文件输出(在新行上具有每个值输出)转换为分组行,如下所示.

说我在Unix中的输出文件如下所示:

jobname
userid
starttime
endtime
jobname2
userid
starttime
endtime
Run Code Online (Sandbox Code Playgroud)

我希望输出为:

jobname1 userid starttime endtime
jobname2 userid starttime endtime
Run Code Online (Sandbox Code Playgroud)

kev*_*kev 8

这是一个最小的awk解决方案:

awk 'ORS=NR%4?" ":"\n"' input.txt 
Run Code Online (Sandbox Code Playgroud)

产量

jobname userid starttime endtime
jobname2 userid starttime endtime
Run Code Online (Sandbox Code Playgroud)

(如果要对齐字段,请将管道对齐column -t)


Jul*_* TF 5

这会将每四个连续行粘贴为四个制表符分隔的字段:

cat source_file | paste - - - - > destination_file
Run Code Online (Sandbox Code Playgroud)