Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations IamaSherpa on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Help parsing data in sets 1

Status
Not open for further replies.

Kipnep70

Technical User
Nov 18, 2003
81
US
Wondering if anybody could help...

I've clipped some of the raw data, but you'll get the general idea.

Raw data:
Code:
CL1-A 
CL1-A 
CL1-A 
CL1-A 
CL1-A 
CL1-A 
CL1-A 
CL1-A 
CL1-A 
CL1-A 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-B 
CL1-C 
CL1-C 
CL1-C 
CL1-C 
CL1-C 
CL1-C 
CL1-C 
CL1-C 
CL1-C 
CL1-C 
CL1-D 
CL1-D 
CL1-D 
CL1-D 
CL1-D 
CL1-D 
CL1-D 
CL1-D 
CL1-D 
CL1-D 
CL1-D 
CL1-E 
CL1-E 
CL1-E 
CL1-E 
CL1-E 
CL1-E 
CL1-E 
CL1-E 
CL1-E 
CL1-E 
CL1-E 
CL1-E 
CL1-E 
CL1-E 
CL1-F 
CL1-F 
CL1-F 
CL1-F 
CL1-F 
CL1-F 
CL1-F 
CL1-F 
CL1-F 
CL1-F 
CL1-F 
CL1-F 
CL1-G 
CL1-G 
CL1-G 
CL1-G 
CL1-G 
CL1-G 
CL1-H 
CL1-H 
CL1-H 
CL1-H 
CL1-H 
CL1-K 
CL1-K 
CL1-K 
CL1-L 
CL1-L 
CL1-M 
CL1-M 
CL1-N 
CL1-N 
CL1-N 
CL1-P 
CL2-A 
CL2-A 
CL2-A 
CL2-A 
CL2-A 
CL2-A 
CL2-A 
CL2-A 
CL2-A 
CL2-A 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-B 
CL2-C 
CL2-C 
CL2-C 
CL2-C 
CL2-C 
CL2-C 
CL2-C 
CL2-C 
CL2-C 
CL2-C 
CL2-D 
CL2-D 
CL2-D 
CL2-D 
CL2-D 
CL2-D 
CL2-D 
CL2-D 
CL2-D 
CL2-D 
CL2-D 
CL2-E 
CL2-E 
CL2-E 
CL2-E 
CL2-E 
CL2-E 
CL2-E 
CL2-E 
CL2-E 
CL2-E 
CL2-E 
CL2-E 
CL2-E 
CL2-E 
CL2-F 
CL2-F 
CL2-F 
CL2-F 
CL2-F 
CL2-F 
CL2-F 
CL2-F 
CL2-F 
CL2-F 
CL2-F 
CL2-F 
CL2-G 
CL2-G 
CL2-G 
CL2-G 
CL2-G 
CL2-G 
CL2-H 
CL2-H 
CL2-H 
CL2-H 
CL2-H 
CL2-K 
CL2-K 
CL2-K 
CL2-L 
CL2-L 
CL2-M 
CL2-M 
CL2-N 
CL2-N 
CL2-N 
CL2-P 
CL3-A 
CL3-A 
CL3-A 
CL3-A 
CL3-A 
CL3-A 
CL3-A 
CL3-A 
CL3-A 
CL3-B 
CL3-B 
CL3-B 
CL3-B 
CL3-B 
CL3-B 
CL3-B 
CL3-B 
CL3-C 
CL3-C 
CL3-C 
CL3-C 
CL3-C 
CL3-C 
CL3-C 
CL3-C 
CL3-D 
CL3-D 
CL3-D 
CL3-D 
CL3-D 
CL3-D 
CL3-D 
CL3-D 
CL3-D 
CL3-D 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-E 
CL3-F 
CL3-F 
CL3-F 
CL3-F 
CL3-F 
CL3-F 
CL3-F 
CL3-F 
CL3-F 
CL3-F 
CL3-F 
CL3-G 
CL3-G 
CL3-G 
CL3-G 
CL3-G 
CL3-G 
CL3-G 
CL3-G 
CL3-G 
CL3-H 
CL3-H 
CL3-K 
CL3-K 
CL3-K 
CL3-K 
CL3-K 
CL3-K 
CL3-K 
CL3-K 
CL3-K 
CL3-K 
CL3-K 
CL3-K 
CL3-K 
CL3-K 
CL3-L 
CL3-L 
CL3-L 
CL3-L 
CL3-L 
CL3-L 
CL3-M 
CL3-M 
CL3-N 
CL3-P 
CL3-P 
CL4-A 
CL4-A 
CL4-A 
CL4-A 
CL4-A 
CL4-A 
CL4-A 
CL4-A 
CL4-A 
CL4-B 
CL4-B 
CL4-B 
CL4-B 
CL4-B 
CL4-B 
CL4-B 
CL4-B 
CL4-B 
CL4-C 
CL4-C 
CL4-C 
CL4-C 
CL4-C 
CL4-C 
CL4-C 
CL4-C 
CL4-D 
CL4-D 
CL4-D 
CL4-D 
CL4-D 
CL4-D 
CL4-D 
CL4-D 
CL4-D 
CL4-D 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-E 
CL4-F 
CL4-F 
CL4-F 
CL4-F 
CL4-F 
CL4-F 
CL4-F 
CL4-F 
CL4-F 
CL4-F 
CL4-F 
CL4-G 
CL4-G 
CL4-G 
CL4-G 
CL4-G 
CL4-G 
CL4-G 
CL4-G 
CL4-G 
CL4-H 
CL4-H 
CL4-K 
CL4-K 
CL4-K 
CL4-K 
CL4-K 
CL4-K 
CL4-K 
CL4-K 
CL4-K 
CL4-K 
CL4-K 
CL4-K 
CL4-K 
CL4-K

I want to count the occurences that each line repeats and compare it to the next iteration.


example output:
Code:
CL1-A 10 CL1-B 19 CL1-C 10 CL1-D 11 CL1-E 14 CL1-F 12 CL1-G 6 CL1-H 5 CL1-K 3 CL1-L 2 CL1-M 2 CL1-N 3 CL1-P 1
CL2-A 10 CL2-B 19 CL2-C 10 CL2-D 11 CL2-E 14 CL2-F 12 CL2-G 6 CL2-H 5 CL2-K 3 CL2-L 2 CL2-M 2 CL2-N 3 CL2-P 1

CL3-A 9 CL3-B 8 CL3-C 8 CL3-D 10 CL3-E 26 CL3-F 11 CL3-G 9 CL3-H 2 CL3-K 14 CL3-L 6 CL3-M 2 CL3-N 1 CL3-P 2
CL4-A 9 CL4-B 9 CL4-C 8 CL4-D 10 CL4-E 29 CL4-F 11 CL4-G 9 CL4-H 2 CL4-K 14 CL4-L 6 CL4-M 2 CL4-N 1 CL4-P 2

CL5-A 15 CL5-B 6 CL5-C 2 CL5-D 1 CL5-E 8 CL5-F 7 CL5-G 2 CL5-H 8 CL5-K 3 CL5-L 3 CL5-M 2 CL5-N 1 CL5-P 1
CL6-A 15 CL6-B 6 CL6-C 2 CL6-D 1 CL6-E 8 CL6-F 7 CL6-G 2 CL6-H 8 CL6-K 3 CL6-L 3 CL6-M 2 CL6-N 1 CL6-P 1

CL7-A 2 CL7-B 2 CL7-C 3 CL7-D 2 CL7-E 1 CL7-F 1 CL7-G 1 CL7-H 3 CL7-K 6 CL7-L 6 CL7-N 1 CL7-P 1 CL8-A 2
CL8-B 2 CL8-C 3 CL8-D 2 CL8-E 1 CL8-F 1 CL8-G 1 CL8-H 3 CL8-K 6 CL8-L 6 CL8-N 1 CL8-P 1

You can see the first three sets line up nicely, so I can compare CL1-A to CL2-A, etc.. but the last section didn't line up.. CL7-A to CL8-B. It should be CL7-A to CL8-A.


Here's what I'm running:
Code:
COL_LENGTH=$(awk '{grp[$1]++}END{for (var in grp) print var, grp[var]}' ${data} | sort -2 -4 | awk '/A/{if(p)print NR-p-1;p=NR}'| awk 'NR==1{print $NF}')

awk '{grp[$1]++}
        END{for (var in grp) print var, grp[var]}' ${data}            | sort +1 | sort -n |  pr -a -t -s" " -c `expr ${ROWLENGTH} + 1` | awk '{print} !(NR % 2) {print ""}'

Any suggestions would be appreciated. The number of occurences will very for each item.
 
I'd replace this:
print var, grp[var]
with this:
printf "%s %2d\n", var, grp[var]

Hope This Helps, PH.
FAQ219-2884
FAQ181-2886
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top