Я не уверен, что я не полностью понимаю grep
или регулярные выражения являются источником моей проблемы, поэтому у меня есть два вопроса. У меня есть простой тестовый файл с именем test.txt
со следующим содержимым:
$ cat test.txt
Settings.xml
blah
Settings_1.xml
blah
Settings_2.xml
Когда я запускаю grep
в каталоге, содержащем только указанный выше тестовый файл, с помощью следующей команды, он возвращается без совпадений:
$ grep -ir "Settings*xml"
1) Почему подстановочный знак *
не перехватывает точку?
И когда я запускаю grep
как таковой:
$ grep -ir "Settings*.xml"
единственная разница заключается в том, что период после подстановочного знака приводит к следующим результатам:
test.txt:Settings.xml
2) Почему grep
не находит другие два совпадения?