Отфильтруйте файл журнала к месяцу, дате и времени в ударе

Можно сделать это как это:

$ readlink -f $(type -p firefox)

если firefox не находится в ПУТИ:

$ find / -name firefox 2>/dev/null
3
02.05.2015, 00:05
1 ответ

Вы можете очень просто добавить больше переменных для дневного фильтра:

awk -v start_day=24 -v stop_day=25 -v start_time=10:00:00.000000 -v stop_time=24:00:00.999999 'start_day <= $2 && $2 <= stop_day && start_time <= $3 && $3 <= stop_time' file

Выходные данные

files/file1:Apr 24 10:47:00.663137 somedata    
files/file1:Apr 25 23:47:00.663157 somedata    
files/file1:Apr 25 23:47:00.663167 somedata

Мы отсутствуем строки на 25 апреля, потому что мы слепотрите время до 10 утра. Все, что нам нужно сделать, это реализовать логический тест для фильтрации только в течение первого дня:

awk -v start_day=24 -v stop_day=25 -v start_time=05:00:00.000000 -v stop_time=05:00:00.999999 'start_day <= $2 && $2 <= stop_day && (start_time <= $3 || start_day != $2) && $3 <= stop_time' file

Урожайности

files/file1:Apr 24 10:47:00.663137 somedata    
files/file1:Apr 25 01:47:00.663147 somedata    
files/file1:Apr 25 23:47:00.663157 somedata    
files/file1:Apr 25 23:47:00.663167 somedata 

В течение нескольких месяцев вы можете следовать той же идее, но вам нужно перевести апрель на 04 (Pre-обработка или волшебство ) и применять <= => на что.

2
27.01.2020, 21:27

Теги

Похожие вопросы