Wrt I would like to remove everything between ":" and the first occurence of "or"
- нет, вы бы не стали. Первое вхождение or
во 2-й строке ввода образца является началом orweqqwe
. Этот текст сразу после :
выглядит так, как будто это может быть любой набор символов, поэтому он не может содержать отдельный or
, например, MNS:2 or eqqwe or M+ GYPA*02 or GYPA*N
Учитывая это и тот факт, что это, очевидно, фиксированное количество символов чтобы быть удаленным в каждой строке, кажется, что это то, что вы действительно должны использовать:
$ sed 's/:.\{14\}/:/' file
MNS:N+ GYPA*01 or GYPA*M
MNS:M+ GYPA*02 or GYPA*N
MNS:Mc GYPA*08 or GYP*Mc
MNS:Vw GYPA*09 or GYPA*Vw
MNS:Mg GYPA*11 or GYPA*Mg
MNS:Vr GYPA*12 or GYPA*Vr