Вам просто нужно выйти из квадратных скобок
$ str="\[time-1\] abcdef|\[time-1\] zzzzzz"
$ awk '!($0~/('"$str"')$/)' test_input
line2 [time-1] absde1
--- Изменить --------------------------
Чтобы создать переменную str с экранированными символами
str="[time-1] abcdef|[time-1] zzzzzz" | sed -e 's/[]\/$*.^[]/\\&/g'
Таким образом, список, разделенный вертикальной чертой, может быть автоматически сгенерированным списком.