キーに対応する単語を1行に入力してください。

キーに対応する単語を1行に入力してください。

次の形式のシンボルテーブル(キーと値のペア)があります。

01  aaluu desii
01  aaluu cipsa 
01  amaruuda ilaahabaadii
02  hai
02  nahii
02  txamaatxara

まず(同じキーに対応する)単語を同じ行に入れる必要があります。

予想される出力は次のとおりです。

01 aaluu desii aaluu cipsa amaruuda ilaahabaadii
02 hai nahii txamaatxara

入力ファイルと出力ファイルには、キーと値を区別するタブ文字があることに注意してください。

ベストアンサー1

awkを使用してください:

 awk '{for (i=2; i<=NF; i++) {a[$1]=a[$1]" "$i}} END{for ( i in a){print i"\t"a[i]}}'

aインデックス(キー)を持つ配列を作成し、行の$1最初のフィールドを除くすべてのフィールドを配列に追加します。これは、同様のキーを持つすべての行に対してこれを行います。

END配列インデックスを繰り返し、aキーと値の間にタブ区切り文字を使用して、配列インデックス(キー)と配列内容(値)を印刷します。

おすすめ記事