![gawkスクリプト作成ヘルプの登録[閉じる]](https://linux33.com/image/62692/gawk%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E4%BD%9C%E6%88%90%E3%83%98%E3%83%AB%E3%83%97%E3%81%AE%E7%99%BB%E9%8C%B2%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
一意のキー$ 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 }
'