Я хотел немного поиграть с командой grep с использованием регулярных выражений и узнать, что они ведут себя иначе, чем я ожидал. Например, для файла temp со следующим содержимым
helloworld
hello_world
hello world
hello how are you world
hello wor ld
hello_*_..world
helloEworld
при запуске
grep 'hello.*world' temp
он возвращает
helloworld
hello_world
hello world
hello how are you world
hello_*_..world
helloEworld
, как ожидалось , Но когда я запускаю
grep 'hello.+world' temp
, он ничего не возвращает ... Хотя, когда add \ перед +
grep 'hello.\+world' temp
, он возвращает правильный ответ
[ f6]при добавлении \ до * в предыдущей команде и при запуске
grep 'hello.\*world' temp
ничего не возвращает ...
Почему эта команда grep 'hello.+world' temp t, тогда как с \ он работает. И почему это совершенно противоположно для *? Когда следует использовать \?