私の問題で私を助けてくれることを願っています。
次のような 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
Everyには、マップされているApl_Noのセットがあります。Act_No3 つの新しいフィールドを作成する必要があります: 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、Act_No前の行のPrs_Act_Noと同じでありAct_No、現在の行のとCd_Act_No同じでありAct_No、次の行のと同じです。Apl_Noこれは、最後の行を除いて同じものを保持するすべての後続の行に続きます。最後の行では、上記の行と同じ方法で と が入力されますが、最初の一意が検出されたときに最初の行から を取得するCrt_Act_No必要があります。Prs_Act_NoCd_Act_NoAct_NoApl_No
awkを使用してこれを実現したいと考えています。誰でもこれをどうするか教えてください。