Merge two rows of a file

徘徊边缘 提交于 2021-01-29 07:35:45

问题


I have a input file which has large data in below pattern. some part of data is shown below:

Data1 
C
In;
CP
In;
D
In;
Q
Out;
Data2 
CP
In;
D
In;
Q
Out;
Data3 
CP
In;
CPN
In;
D
In;
QN
Out;

I want my output as

Data1(C,CP,D,Q)
In C;
In CP;
In D;
Out Q;
Data2 (CP,D,Q)
In CP;
In D;
Out Q;
Data3 (CP,CPN,D,QN)
In CP;
In CPN
In D
Out QN;

I tried code given in comment section below, But getting error. Corrections are welcome.


回答1:


variation on @EdMorton suggestion - fixing the desired order of fields:

$ awk 'FNR==1{print;next}!(NR%2){a=$0; next} {printf "%s %s%s%s", $1,a,FS,ORS}' FS=';' file
Data
In A1;
In A2;
Out Z;


来源:https://stackoverflow.com/questions/64334351/merge-two-rows-of-a-file

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!