私の問題で私を助けてくれることを願っています。
次のような 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_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
、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を使用してこれを実現したいと考えています。誰でもこれをどうするか教えてください。