Awk/Unix group by -
have text file:
name, age joe,42 jim,20 bob,15 mike,24 mike,15 mike,54 bob,21 trying (count):
joe 1 jim 1 bob 2 mike 3 thanks,
$ awk -f, 'nr>1{arr[$1]++}end{for (a in arr) print a, arr[a]}' file.txt joe 1 jim 1 mike 3 bob 2 explanations -f, splits on , nr>1 treat lines after line 1 arr[$1]++ increment array arr (split ,) first column key end{} block executed @ end of processing file for (a in arr) iterating on arr a key print a print key , arr[a] , value a of array arr
unix awk
No comments:
Post a Comment