Кто-нибудь знает, что является причиной того, что вопросительный знак ничего не соответствует в Ubuntu 19.10? - PullRequest
0 голосов
/ 10 марта 2020

Когда я использую точку (.) В шаблоне сглаживания, он успешно сопоставляет эту группу адресов:

~$ ip addr show | grep i.et
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host 
inet 192.168.1.101/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp3s0
inet6 fe80::c705:4836:6aa7:d321/64 scope link noprefixroutet

В то же время версия с вопросительным знаком ничего не соответствует:

~$ ip addr show | grep i?et

Есть идеи?

1 Ответ

1 голос
/ 11 марта 2020

Шаблоны Grep регулярные выражения . Знак вопроса, который вы пытаетесь использовать, является частью глобирования Bash (сопоставление с образцом) .

Пример использования глобирования:

ls -1d /proc/191?

return:

/proc/1910
/proc/1913
/proc/1914
/proc/1915
/proc/1916
/proc/1918
/proc/1919

Теперь с регулярными выражениями grep (регулярное выражение):

ls -1 /proc | grep '191.'

возвращает:

1910
1913
1914
1915
1916
1918
1919

Надеюсь, что это поможет устранить путаницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...