Certamente, a tarefa pode ser feita por sed
sed '/20150408 13:29:28/,/20150408 17:55:02/! d' log_files
mas se as linhas não tiverem o script exato de 20150408 13:29:28
, nada será impresso e, se não tiver o arquivo 20150408 17:55:02
exato, imprimirá todas as linhas até o final.
Portanto, é melhor usar a data de comparação por script:
limit1=$(date -d "20150408 13:29:28" +"%s")
limit2=$(date -d "20150408 17:55:02" +"%s")
while read -r logdate logtime logline
do
logsec=$(date -d "$logdate $logtime" +"%s")
if [ $limit1 -le $logsec -a $limit2 -ge $logsec ]
then
echo $logdate $logtime $logline
fi
done < log_files