zoonomen-APP / Lichen

0 stars 0 forks source link

## Find which collectors have collected in all 6 states. #13

Open zoonomen-APP opened 2 weeks ago

zoonomen-APP commented 2 weeks ago

Here is an example of something I tried just now.

I asked AI this: "given a pipe delimited file called NEdfbn with state in $4 and collector in $99 write a process that will list any collectors with specimens from all states Massachusetts, Maine, New_Hampshire, Connecticut, and Rhode_Island" (note, I left out Vermont!)

It gave me some code, which I ran and then saw I had 5 states,, not 6, so I asked it to add Vermont.

It then gave me this code:

awk -F'|' '
BEGIN {
    # Define the states we are interested in, including Vermont
    split("Massachusetts Maine New_Hampshire Connecticut Rhode_Island Vermont", states, " ");
    for (i in states) {
        required[states[i]] = 1;  # Mark required states
    }
}

{
    # Check if the state is one of the required ones
    if ($4 in required) {
        collectors[$99][$4];  # Use the collector and state as keys
    }
}

END {
    # Check each collector to see if they have all required states
    for (collector in collectors) {
        if (length(collectors[collector]) == 6) {  # We need 6 unique states
            print collector;  # Print collector name
        }
    }
}' NEdfbn

I copied the code into my shell and ran it and got this result.

Evans,A.W. Buck,W.R. Flenniken,D. Torrey,G.S. Howe,R.H.,Jr. Riddle,L.W. Cummings,C.E.,Ms. Rosentreter,R. Lay,E.,Ms. Esslinger,T.L. Harris,R.C.

Notice 2 of 11 are women.