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


19

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

grep [f]oobar

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

grep foobar

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

Что-то такое простое может быть таким прекрасным
Чида

Ответы:


33

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

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


4
Это единственный распространенный пример этого синтаксиса, с которым я знаком.
ewwhite

На самом деле вы правы. Последние несколько примеров, с
которыми
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.