Зачем заключать одну букву в регулярное выражение grep?

19

Я видел несколько случаев, когда люди делают это:

grep [f]oobar

Но я не понимаю, почему это предпочтительнее

grep foobar
hortitude
источник
Хм .. Я думал, что это должно соответствовать диапазону символов в пределах []. Если это всего лишь один персонаж, это может быть просто, чтобы он выглядел сложным :) Может быть, есть что-то большее.
Чида
Что-то такое простое может быть таким прекрасным
Чида

Ответы:

33

Нет причины, по которой предпочтительный синтаксис сам по себе. Иногда он используется как хак, когда «подбрасывает» процесс (например, ps aux | grep [a]pache). Использование этого синтаксиса не позволяет grep сопоставлять свою собственную командную строку в списке процессов.

См. Как предотвратить, чтобы «ps» сообщал о собственном процессе?

Джефф Ферланд
источник
4
Это единственный распространенный пример этого синтаксиса, с которым я знаком.
ewwhite
На самом деле вы правы. Последние несколько примеров, с
которыми