I want to bring values in the second column into single line for uniq value in the first column.
My input
jvm01, Web 2.0 Feature Pack Library
jvm01, IBM WebSphere JAX-RS
jvm01, Custom01 Shared Library
jvm02, Web 2.0 Feature Pack Library
jvm02, IBM WebSphere JAX-RS
jvm03, Web 2.0 Feature Pack Library
jvm03, IBM WebSphere JAX-RS
jvm03, Custom03 Shared Library
Expecting this output
jvm01, Web 2.0 Feature Pack Library, IBM WebSphere JAX-RS, Custom01 Shared Library
jvm02, Web 2.0 Feature Pack Library, IBM WebSphere JAX-RS
jvm03, Web 2.0 Feature Pack Library, IBM WebSphere JAX-RS, Custom03 Shared Library
I could get result using below code,, but I do not like it. There got to be better way of doing this using awk/sed/perl one liner.
for jvm in $(cat file.txt | cut -d',' -f1 | uniq); do
libs=$(grep $jvm file.txt | cut -d',' -f2 | paste -s -d, -)
echo "$jvm,$libs"
done
jvm01, Web 2.0 Feature Pack Library, IBM WebSphere JAX-RS, Custom01 Shared Library
jvm02, Web 2.0 Feature Pack Library, IBM WebSphere JAX-RS
jvm03, Web 2.0 Feature Pack Library, IBM WebSphere JAX-RS, Custom03 Shared Library