0

次の表は、操作したいデータの簡単なスナップショットを示しています。同様の要素を 1 つのグループにグループ化する awk スクリプトを探しています。たとえば。下の表を見ると:

  1. 数字 (1、2、3、4、6) はすべて 1 つのグループに属する必要があります。したがって、row1 row2 row4 row8 はグループ "1" になります。
  2. 数字の 9 はユニークで、共​​通の要素はありません。したがって、グループ2などの別のグループに単独で存在します
  3. 同様に、番号 5、7 はグループ 3 などの 1 つのグループに属します...

ファイル:

heading1        heading2         numberlist     group
name1           text             1,2,3          1
name2           text             2              1
name3           text             9              2
name4           text             1,4            1
name5           text             5,7            3
name6           text             7              3
name7           text             8              4
name8           text             6,2            1

私に似たクエリを検索していて、このリンクを見つけました。共通要素によるリストのグループ化。しかし、解決策は C++ であり、私の主な要件である awk ではありません。

ちなみに、クエリに多少関連するこの awk ソリューションも見つかりましたが、コンマ区切りの値の処理がありませんでした。 配列を使用した awk スクリプトのグループ化

Numberlist、つまり $3 は、グループ化の唯一の考慮事項です。

4

1 に答える 1