Hi Don,
Don't know if its I'm running on Solaris but i get a different o/p. Heres xterm with commands pasted in and run.
% printf '%s\n' "FRED6;" "FRED61;" "FRED6,45678;" "abc:FRED6;" "abc:FRED61;" \
> "abc:FRED6,45678;" "abc:FRED6:def;" "abc:FRED61:def;" \
> "abc:FRED6,45678:def;" "abc:FRED6:GEORGE:def;" \
> "abc:FRED61:GEORGE:def;" "abc:FRED6,45678:GEORGE:def;" "FRED6:def;" \
> "FRED61:def;" "FRED6,45678:def;" "abc:No Changes to this:def;" |
pipe> sed '\!^FRED6\(,[^:]*\)\{0,1\};!d
pipe quote> s!^FRED6\(,[^:]*\)\{0,1\}:!!
pipe quote> s!:FRED6\(,[^:]*\)\{0,1\}:!:!
pipe quote> s!:FRED6\(,[^:]*\)\{0,1\};!;!'
' "FRED6;" "FRED61;" "FRED6,45678;" "abc:FRED6;" "abc:FRED61;" "abc:FRED6,45678;" "abc:FRED6:def;" "abc:FRED61:def;" "abc:FRED6,45678:def;" "abc:FRED6:GEORGE:def;" "abc:FRED61:GEORGE:def;" "abc:FRED6,45678:GEORGE:def;" "FRED6:def;" "FRED61:def;" "FRED6,45678:def;" "abc:No Changes to this:def;" | sed '\!^FRED6\(,[^:]*\)\{0,1\};!d
s!^FRED6\(,[^:]*\)\{0,1\}:!!
s!:FRED6\(,[^:]*\)\{0,1\}:!:!
s!:FRED6\(,[^:]*\)\{0,1\};!;!'
FRED6;
FRED61;
FRED6,45678;
abc:FRED6;
abc:FRED61;
abc:FRED6,45678;
abc:FRED6:def;
abc:FRED61:def;
abc:FRED6,45678:def;
abc:FRED6:GEORGE:def;
abc:FRED61:GEORGE:def;
abc:FRED6,45678:GEORGE:def;
FRED6:def;
FRED61:def;
FRED6,45678:def;
abc:No Changes to this:def;
===========================================================
% printf '%s\n' "FRED6;" "FRED61;" "FRED6,45678;" "abc:FRED6;" "abc:FRED61;" \
> "abc:FRED6,45678;" "abc:FRED6:def;" "abc:FRED61:def;" \
> "abc:FRED6,45678:def;" "abc:FRED6:GEORGE:def;" \
> "abc:FRED61:GEORGE:def;" "abc:FRED6,45678:GEORGE:def;" "FRED6:def;" \
> "FRED61:def;" "FRED6,45678:def;" "abc:No Changes to this:def;" > tmpfile
' "FRED6;" "FRED61;" "FRED6,45678;" "abc:FRED6;" "abc:FRED61;" "abc:FRED6,45678;" "abc:FRED6:def;" "abc:FRED61:def;" "abc:FRED6,45678:def;" "abc:FRED6:GEORGE:def;" "abc:FRED61:GEORGE:def;" "abc:FRED6,45678:GEORGE:def;" "FRED6:def;" "FRED61:def;" "FRED6,45678:def;" "abc:No Changes to this:def;" > tmpfile msgmedia@AH-IN-UMF13:/home/msgmedia/stevebzsh: file exists: tmpfile
AH-IN-UMF13{msgmedia}568% sed '\!^FRED6\(,[^:]*\)\{0,1\};!d
quote> s!^FRED6\(,[^:]*\)\{0,1\}:!!
quote> s!:FRED6\(,[^:]*\)\{0,1\}:!:!
quote> s!:FRED6\(,[^:]*\)\{0,1\};!;!' tmpfile
s!^FRED6\(,[^:]*\)\{0,1\}:!!
s!:FRED6\(,[^:]*\)\{0,1\}:!:!
s!:FRED6\(,[^:]*\)\{0,1\};!;!'
FRED6;
FRED61;
FRED6,45678;
abc:FRED6;
abc:FRED61;
abc:FRED6,45678;
abc:FRED6:def;
abc:FRED61:def;
abc:FRED6,45678:def;
abc:FRED6:GEORGE:def;
abc:FRED61:GEORGE:def;
abc:FRED6,45678:GEORGE:def;
FRED6:def;
FRED61:def;
FRED6,45678:def;
abc:No Changes to this:def;
===========================================================
Run just the sed against the tmpfile
% sed '\!^FRED6\(,[^:]*\)\{0,1\};!d
quote> s!^FRED6\(,[^:]*\)\{0,1\}:!!
quote> s!:FRED6\(,[^:]*\)\{0,1\}:!:!
quote> s!:FRED6\(,[^:]*\)\{0,1\};!;!' tmpfile
s!^FRED6\(,[^:]*\)\{0,1\}:!!
s!:FRED6\(,[^:]*\)\{0,1\}:!:!
s!:FRED6\(,[^:]*\)\{0,1\};!;!'
FRED6;
FRED61;
FRED6,45678;
abc:FRED6;
abc:FRED61;
abc:FRED6,45678;
abc:FRED6:def;
abc:FRED61:def;
abc:FRED6,45678:def;
abc:FRED6:GEORGE:def;
abc:FRED61:GEORGE:def;
abc:FRED6,45678:GEORGE:def;
FRED6:def;
FRED61:def;
FRED6,45678:def;
abc:No Changes to this:def;
As for the files, format is either
1. X:Y:Z
or
2 X,value1:Y,value2:Z,value3;