Если отсортировано (см.выше sort -n) то на awk:awk -F^ ' BEGIN { OFS="^" } NR == 1 { a = $1 ; b = $2 } NR != 1 { if ( a != $1 ) { print a,b ; a = $1 ; b = $2 } else b = b "," $2 } END { print a,b }' file.txt
Пользователь решил продолжить мысль 19 Апреля 2014, 14:49:03:
Или оптимизированный вариантawk -F^ '{ if (a!=$1) { if (b!="") print b ; a=$1 ; b=a"^"$2 } else b=b","$2 } END {print b}' file.txt