и
для проверки, используйте [1122239]-n
Если нет команды, которая позволяет это сделать (как предложил Wiese), почему бы вам не создать внешний индекс вашего файла?
Просто идея: вы можете сделать скрипт, который будет выполняться вечно (или почти вечно, см. примечания ниже), и задавать временные интервалы для создания индекса.
PIDofThisInstance=$$
# ... you code for the header, checks...
while true ; do
# This is the core of your cycle
sync # Maybe
CurrentSize=`ls -s $MyFile | awk '{print $1} ' `
CurrentTime=`date +"%Y%m%d%H%M%S"`
echo $CurrentTime $CurrentSize >> $Log_Of_My_Log_File
sleep $TimeToSleep
# if (exit-condition)
# then
# break #Exit from the infinite loop.
# fi
done
После этого вы можете сделать другой скрипт, который, учитывая начальную/конечную дату/время, отвечает вам начальными/конечными размерами. Из этих чисел вы можете вырезать ваш файл.
Вы сказали, что это огромный файл. Поэтому я не предлагаю вам делать с linenumbers и
может быть head MyFile.log -n xxx | tail -n yyy
. Это будет долго. Лучше работать с размером.
Примечания: