awkрешение:
awk -F'::' '{ print $2"[" substr($1,1,index($1,"_")-1) "]"}' file
Выход:
TRINITY_DN120587_c0_g1_i1[ID1]
-F'::'
-разделитель поля
substr($1,1,index($1,"_")-1)
-извлечение подстроки из 1-го поля, начиная с 1-й позиции до первого появления _
(, т.е.ID1
)