У меня есть эта папка:
Folder ├── stu1 ├── foo └── student9
Когда я выполняю эту команду
ls |grep s*
В результате получается
student9
Я ожидал stu1, student9
Почему это происходит?
* интерпретируется оболочкой.Вы можете заключить его в кавычки, чтобы «защитить» его от раковины и передать до grep:
*
grep
$ ls | grep "s*"