需要在数据文件中加入行。数据线不一致

时间:2015-04-28 20:29:30

标签: awk sed

我需要使用键连接输入数据文件中的行。具体而言,数据线1始终以'C1'开头,数据线2始终以'J1'开头 在每种情况下都不会有“C1”。某些“J1”行没有前面的“C1”行。最好的情况是我可以检索'C1 || J1'输入到输出文件中,'J1'奇点输入到单独的输出文件中。我在这个网站上搜索了大部分时间的答案,这对我来说并不明显。

由于单个“J1”线,使用奇数/偶数方法 我对Perl一无所知,我们也没有在工作中使用它,所以Perl已经出局了。 我有点受限于awk,sed。

OMG忘记了样品输入和样品输出。我的坏。

示例输入: C111416655020090209IP

J1114166550SA0165235Z00000X295053911A

C112411158820060930OP

J1124111588DE2095332B00000X29650

J11241115887145143336C0003X296501145D

J11241115887814653336C0003X296501145D

C104327839320060503OP

J1043278393548223332B00000X295053424A

示例输出文件1: C111416655020090209IP J1114166550SA0165235Z00000X295053911A

C112411158820060930OP J1124111588DE2095332B00000X29650

C104327839320060503OP J1043278393548223332B00000X295053424A

示例输出文件2: J11241115887145143336C0003X296501145D

J11241115887814653336C0003X296501145D

状态机不太可能在这里工作。

提前致谢。 Robert Hohlt,Jr。

1 个答案:

答案 0 :(得分:0)

你可能想要这样的东西:

awk '/^J1/{print p, $0; p=""; next} {p=$0}' file

但是在你发布一些样本输入和预期输出之前,这只是一个粗略的猜测。