grep не ищет строку согласно шаблону (grep [0-9])

На самом деле это единственный раздел про unix на этом форуме

Модератор: /dev/random

Аватара пользователя
жучара
Сообщения: 772
ОС: астралинукс

grep не ищет строку согласно шаблону

Сообщение жучара »

Друзья! Файл foo.txt

Shell

$ cat foo.txt
q1
q2
w2
$
Если мы будем в этом файле искать буквы, согласно шаблону, то всё найдётся:

Shell

$ cat foo.txt | grep [q-w]
q1
q2
w2
$
но не цифры. Выводится почему-то только первое совпадение, а нужно, чтобы вывелись все строки, поскольку цифры присутствуют в каждой строке

Shell

$ cat foo.txt | grep [0-9]
q1
$
ЧЯДНТ? Спасибо, кто откликнется.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
bormant
Сообщения: 1353

Re: grep не ищет строку согласно шаблону

Сообщение bormant »

У вас grep сломан. Шутка.

Возьмите '[0-9]' в кавычки или апострофы. У вас в текущем каталоге есть файл с именем "1", оболочка раскрывает [0-9] в список имен подходящих файлов, команда получается grep 1.

Код: Выделить всё

$ echo -e 'q1\nq2\nq3' | grep '[0-9]'
q1
q2
q3
Спасибо сказали: