Путь #!
заключается в том, что за ним должен следовать полный путь к интерпретатору. Если вы хотите найти $PATH
, обычно используется конструкция #!/usr/bin/env
, например,
#!/usr/bin/env perl
будет искать perl
. ] в $PATH
. Для получения дополнительной информации о том, почему это работает, см. страницу руководства для envи приятное обсуждениев разделе «Как /usr/bin/env узнает, какую программу использовать?]" на этом форуме.
Вам нужен оператор ИЛИ '|' в группе:
grep -E 'S(i|ee)ya' emp
4 Seeya HR
6 Siya Production
[...]
создает класс символов, а не группу, вы хотите использовать группу, содержащую |
или оператор
grep 'S\(ee\|i\)ya' emp
создаст такую группу и найдет эти две линии. Вы также можете немного почистить это, сказав grep использовать расширенное регулярное выражение с -E
, тогда вам не нужно экранировать символы, чтобы сделать их специальными
grep -E 'S(ee|i)ya' emp
grep 'S.*ya'
, похоже, тоже работает. Квантификатор *
соответствует от нуля до неограниченного количества раз.