CSVファイルの単一列転置

CSVファイルの単一列転置

2つの列を持つCSVファイルがあります。つまり、最初の列:ファイル名2番目の列:アクセスステータス

以下は、いくつかの例のレコードです。

FileA, CREATE
FileA, MODIFY
FileA, DELETE
FileB, CREATE
FileB, MODIFY

最初の列の異なる値に基づいて2番目の列の値を単一の行に変換する必要があります。

FileA, CREATE|MODIFY|DELETE
FileB, CREATE|MODIFY

ベストアンサー1

また試み

awk '
$1 != LAST      {printf "%s%s ", LD, $1         # print every new COL1 value
                 LAST = $1                      # and remeber it
                 LD = RS                        # set the line delimiter (empty at program start)
                 FD = ""                        # unset field delimiter
                }
                {printf "%s%s", FD, $2          # print successive second fields, after field delim 
                 FD = "|"                       # set the field delimiter
                }
END             {printf RS                      # last action: new line
                }
' file
FileA, CREATE|MODIFY|DELETE
FileB, CREATE|MODIFY

おすすめ記事