タイムスタンプでソートされたエントリを含むファイルがありますが、同じタイムスタンプの複数のインスタンスが含まれており、それぞれに個別のトピックがあります。同じタイムスタンプを持つすべてのエントリを1行に連結したいと思います。タイムスタンプは列1です
入力ファイルは次のようになります
Time,Tag,Value
1,ABC,3
2,ABC,2.7
2,DEF,3.4
3,ABC,2.8
3,DEF,3.6
3,GHI,2.99
3,JKL,3.01
4,ABC,3.42
4,DEF,3.62
4,JKL,3.82
そして、望ましい出力は次のようになります(オプション1)。
Time,Tag,Value
1,ABC,3
2,ABC,2.7,DEF,3.4
3,ABC,2.8,DEF,3.6,GHI,2.99,JKL,3.01
4,ABC,3.42,DEF,3.62,JKL,3.82
そしてさらに良いでしょう(オプション2)。
1,ABC,3
2,ABC|DEF,2.7|3.4
3,ABC|DEF|GHI|JKL,2.8|3.6|2.99|3.01
4,ABC|DEF|JKL,3.42|3.62|3.82
ループを使用してスクリプトを作成することで、オプション1に到達できると思います。最初に、「タグ」のすべての値の一意のリストを取得して、ループする必要のある反復回数を決定する必要があります。
しかし、私もそれを想定しています。
1)bashでも、これは長いファイルの場合は高額になる可能性があります。
2)これを行うためのよりエレガントな方法があるかもしれません。
Newbの質問。すべての支援に感謝します。
ありがとう