gawkスクリプト作成ヘルプの登録[閉じる]

gawkスクリプト作成ヘルプの登録[閉じる]

一意のキー$ 2を使用して2つのレコードを結合するには、gawkの例が必要です。 $ 2はキーですが、$ 1には異なるエンティティがあるため、同じキーに対して2つの異なる行があります。

I / pファイルがソート順ではありません。

01|12345|AAAA 01|99|AAAA 01|888|AAAA 02|12345|BBBBB|CCCCC|DDDDD 02|99|BBBBB|CCCCC|DDDDD 02|888|BBBB|CCCCC|DDDDDD

結果ファイル:

O/p ファイル 01|12345|DDDDD 01|99|DDDDD 01|888||DDDDD

ベストアンサー1

たとえば、次のようにしてこれを実行できますawk

awk '
    BEGIN { FS=OFS="|" }
    $2!=old { print sav ; sav=$0 ; old=$2 ; next }
    { sub(/[^|]*\|[^|]*\|/,"") ; sav=sav OFS $0 }
    END { print sav }
'

おすすめ記事