Ты не можешь. Это не то, для чего предназначен sed .
Вместо этого вы можете сделать это с помощью grep, если число вхождений идентификатора фиксировано. Если вместо этого он является переменным, вам понадобится что-то более мощное, например, bash или perl-скрипт.
Если число вхождений идентификатора является фиксированным (скажем, 3), то следующая команда
grep -B 1 -A 3 SU0000 filename.txt
будет делать то, что вам нужно.
РЕДАКТИРОВАТЬ:
если число вхождений SU0000 не фиксировано, следующий скрипт поможет вам, где файл, который нужно проанализировать, называется "данными". Измените его так, как вам лучше.
#!/bin/bash
I_INSIDE=0
PREVIOUS_LINE=""
while read line; do
echo $line | grep -e SU0000 2>&1 1>/dev/null
if [ $? == 0 ]; then
echo $PREVIOUS_LINE
echo $line
I_INSIDE=1
PREVIOUS_LINE=$line
continue
fi
echo $line | grep -e ID 2>&1 1>/dev/null
if [ $? == 0 -a $I_INSIDE == 1 ]; then
echo $line
else
I_INSIDE=0
fi
PREVIOUS_LINE=$line
done < data
Это очень элементарный сценарий, позволяющий вам следовать каждой инструкции. это могло быть значительно сжато.