以下のように2つのファイルを受け取りました。最初のファイルには次のキーが含まれています。
1
2
3
2番目のファイルには、関連する単一の項目を持つキーが含まれています。
1 aa
2 ab
3 ac
2 ad
1 ae
2 af
同じキーに属するすべての項目を収集し、最初のファイルで定義された順序で1行に印刷したいと思います。
1 aa ae
2 ab ad af
3 ac
誰でも助けることができますか?
ベストアンサー1
次のことを使用してこれを行うことは実際には可能ですが、以下にmiller
基づくawk
解決策を考えました。
awk 'NR==FNR{if ($1 in map) map[$1]=map[$1] OFS $2; else map[$1]=$2; next}
{print $1,map[$1]}' file2.txt file1.txt
これにより、2番目のファイルが最初に処理され、同じ「キー」に関連するすべての「値」が収集されます。次に、最初のファイルを処理して各キーの「値」リストを出力します。