строки без кавычек интерпретируются оболочкой до выполнения команды, в вашем случае испробованная вами команда будет расширена доgrep 20180619 20180620 20180621 test
$ echo grep 201806{19..21} test
grep 20180619 20180620 20180621 test
Одним из способов обхода является указание чередования регулярных выражений:
$ grep -E '201806(19|20|21)' test
20180619:
20180620:
20180621:
Вы можете построить числовой диапазон с помощью регулярных выражений, но это непросто. Подробнее см.https://www.regular-expressions.info/numericranges.html
Другой вариант — использоватьawk
$ awk -F: '$1>=20180619 && $1<=20180621' ip.txt
20180619:
20180620:
20180621:
Здесь мы разделяем строку на :
и затем сравниваем первое поле $1
с требуемым диапазоном