Ты довольно близко!Помните, что классы символов регулярных выражений (наборы или диапазоны в квадратных скобках) ищут диапазон символов и будут совпадать только один раз, если вы не укажете иначе с помощью *
или +
и т. Д. В вашем примере [60-69]
совпадает с[690-6]
, который будет соответствовать любому отдельному 6
, 9
или символу в диапазоне 0-6
.Чтобы найти числа от 60 до 69, мы должны смотреть на числа в виде строки.
Взять это в качестве примера: вместо «60» - «69», давайте предположим, что мы ищем «Za»в "Zj".В этом случае мы будем использовать шаблон Z[a-j]
.
Используя приведенный выше пример для вашей задачи, мы можем взять «6» вместо «Z» и заменить «aj» на «0-9», даваяиспользуя шаблон:
animal-06[0-9]
В качестве полной команды это будет:
grep -E 'animal-06[0-9]' animallist.txt