I understand that grep -c string can be used to count the occurrences of a given string. What I would like to do is count the number of unique occurrences when
In general, if you want to grep and also keep track of results, it is best to use awk since it performs such things in a clear manner with a very simple syntax.
So for your given file I would use:
$ awk -F= '/string=/ {count[$2]++} END {for (i in count) print i, count[i]}' file
value1 3
value2 2
value3 1
What is this doing?
-F==, so that we can compute the right and left part of it./string=/ {count[$2]++}count[] to keep track on the times the second field has appeared so far.END {for (i in count) print i, count[i]}