Как сопоставить строки, начинающиеся и заканчивающиеся цифрой и состоящие из 1–6 символов?

Как сопоставить строки, начинающиеся и заканчивающиеся цифрой и состоящие из 1–6 символов?

У меня есть следующий файл:

$ cat numbers
a1
12
12345
123456
19816282
1@$%6

Я использую grep "^[0-9]\{1,6\}$" numbersэто и получаю следующие результаты:

12
12345

Я также ожидаю 1@$%6результатов.

решение1

Результат на самом деле

12
12345
123456

Ваше регулярное выражение означает "Строка, состоящая из 1–6 цифр и ничего больше." так что 1@$%6не совпадает.

решение2

> grep "[0-9]\{1,6\}" numbers.txt
1
12
12345
123456
19816282
1@$%6

Связанный контент