昨日、2つのファイルをマージする方法を検索し、1つの部分を見つけawk
ました。
単純なマージが必要なので、sort -u
この方法ではありませんが、以下のコードは機能します。
誰かがこのawk
コードの機能を説明できますか?
awk '!a[$0]++' file_1 file_2
ベストアンサー1
!a[$0]++ Remove duplicate, nonconsecutive line
これはawkの1行のコードです。関連配列「a」(配列は常にAwkで関連付けられている)に示されている行を登録し、同時にその行を見たことがないかどうかをテストします。以前にその行を見たことがある場合は、a[line]> 0 と !a[line] == 0 です。
falseと評価されるすべての式は機能せず、trueと評価されるすべての式は「{print}」と同じです。空のステートメント "a[$0]" は配列に要素を生成します。
awkチェックの詳細これ。