awk \ '$0 ~ /^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-2][0-9]:[0-5][0-9]:[0-5][0-9]/ { if ($1" "$2 >= "2015-04-27 23:00:00") p=1; if ($1" "$2 >= "2015-04-28 05:30:00") p=0; } p { print $0 }' debug.log >>abhishek.txt


Эта команда awk используется для извлечения журналов, записанных между двумя указанными датами в файле debug.log.

Регулярное выражение /^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-2][0-9]:[0-5][0-9]:[0-5][0-9]/ применяется к каждой строке файла. Если строка соответствует этому выражению и время в строке находится между «2015-04-27 23:00:00» и «2015-04-28 05:30:00», значение переменной p устанавливается в 1. Если время в строке становится больше или равно «2015-04-28 05:30:00», значение переменной p сбрасывается в 0.

Если значение переменной p равно 1, строка печатается на экране. Результат выводится в файл abhishek.txt.

Альтернативным способом является использование grep с флагом -E, чтобы выполнить поиск с использованием регулярного выражения, но он может быть менее мощным для обработки сложных логических условий и дат.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *