我需要使用键连接输入数据文件中的行。具体而言,数据线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。
答案 0 :(得分:0)
你可能想要这样的东西:
awk '/^J1/{print p, $0; p=""; next} {p=$0}' file
但是在你发布一些样本输入和预期输出之前,这只是一个粗略的猜测。