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