我希望你能帮我解决我的问题。
我有一个包含 3 列数据的输入文件,如下所示:
Apl_No Act_No Sfx_No
100 10 0
100 11 1
100 12 2
100 13 3
101 20 0
101 21 1
我需要创建一个输出文件,其中包含输入中的数据和输出中的 3 个附加文件。它应该如下所示:
Apl_No Act_No Sfx_No Crt_Act_No Prs_Act_No Cd_Act_No
100 10 0 - - -
100 11 1 10 11 12
100 12 2 11 12 13
100 13 3 12 13 10
101 20 0 - - -
101 21 1 20 21 20
每个Apl_No
都有一组Act_No
映射到它。需要创建 3 个新字段:Crt_Act_No
Prs_Act_No
Cd_Act_No
. 当Apl_No
遇到第一个唯一值时,列值 4、5 和 6 ( Crt_Act_No
Prs_Act_No
Cd_Act_No
) 需要被划掉。对于随后出现的每一个相同Apl_No
的Crt_Act_No
,the 与Act_No
上一行中的Prs_Act_No
相同,Act_No
与当前行中的Cd_Act_No
相同,并且Act_No
与下一行中的相同。Apl_No
对于除最后一行之外的所有后续行,这将继续。在最后一行中Crt_Act_No
和Prs_Act_No
以与上述行相同的方式填充,但是当遇到第一个唯一时,Cd_Act_No
需要Act_No
从第一行中拉出Apl_No
。
我希望使用 awk 来实现这一点。谁能帮我解决这个问题。