Se você pode ter certeza de que as entradas estão na ordem de tempo, você pode usar ambas as vezes (se ambas existirem no arquivo!) como endereços de início e parada:
start cmd:> sed -n -e /12:00:03/,/12:00:09/p file
01-02-1988 12:00:03 I start
01-02-1988 12:00:04 I start
01-02-1988 12:00:05 I start
01-02-1988 12:00:06 I start
01-02-1988 12:00:07 I start
01-02-1988 12:00:08 I start
01-02-1988 12:00:09 I start
Se for possível que as horas de início e término não apareçam no arquivo, então você deve comparar (pode ser necessário incluir a data neste cálculo)
awk -v starttime="12:00:03" -v stoptime="12:00:09" \
'BEGIN {FS=":"; $0=starttime; startts=$1*3600+$2*60+$3; '\
'$0=stoptime; stopts=$1*3600+$2*60+$3; FS=" ";}; ' \
'{line=$0; FS=":"; $0=$2; secs=$1*3600+$2*60+$3; if (secs>stopts) exit; '\
'if (secs>=startts) print line; FS=" ";}' file
As strings podem ser comparadas diretamente:
awk -v starttime="12:00:03" -v stoptime="12:00:09" \
'{line=$0; if ($2>stoptime) exit; '\
'if ($2>=starttime) print line; FS=" ";}' file