У меня есть файлы журналов, которые имеют такие строки:
2017/10/18 00:00:00 [WARNING]
2017/10/18 00:10:00 [WARNING]
2017/10/18 00:20:00 [WARNING]
2017/10/18 01:00:00 [WARNING]
2017/10/18 01:10:00 [WARNING]
2017/10/18 01:20:00 [WARNING]
Например, я хочу получить все строки между 2017/10/18 00:15:00
а также 2017/10/18 01:15:00
,
Я пытался использовать grep и regex для этого, но я не могу найти решение. я прочитал несколько решений (как это) и узнал о awk. но похоже, что awk тоже нужен шаблон регулярных выражений?
я хотел бы использовать awk
как это:
awk '$1" "$2>="2017/10/18 00:15:00" && $1" "$2<="2017/10/18 01:15:00"' file
Вы также можете использовать переменные для начала и конца:
#!/bin/bash
BEGIN="2017/10/18 00:15:00"END="2017/10/18 01:15:00"awk -v begin="${BEGIN}" \
-v end="${END}" \
'$1" "$2>=begin && $1" "$2<=end' file
Других решений пока нет …