8

Сейчас я готовлюсь к оценке терминала Linux, я попытался найти в Google и обнаружил, что большинство ресурсов ссылаются на основной "grep", а не на более мощный "egrep" - ну, по крайней мере, так сказал профессор в лекции.

Я всегда работаю с маленькими сэмплами, поэтому настройка производительности - это слишком далеко.

В общем, я хотел бы знать, есть ли области, где я должен перейти на egrep, чтобы сделать это лучше? Насколько безопасно работать с базовым "grep", как сейчас? будут ли потенциальные риски?

Извините за мои ограниченные знания о командах оболочки Linux, страница руководства выглядит для меня лабиринтом, и, честно говоря, я не потратил много времени на понимание всех функций, предоставляемых обеими командами.

2 ответа2

10

egrep = grep -E

С http://www.opengroup.org/onlinepubs/007908799/xcu/grep.html

"Сопоставление с использованием расширенных регулярных выражений. Обработайте каждый шаблон, указанный как ERE, как описано в спецификации XBD, Расширенные регулярные выражения. Если какой-либо шаблон ERE соответствует входной строке, строка будет сопоставлена. Нулевое ERE соответствует каждой строке. "

Таким образом, с egrep вы можете использовать +, ?, | and () .

5

egrep устарела. Используйте grep -E . Обратите внимание, что grep находит для вас строковые шаблоны. Если вы хотите что-то сделать со своими строками после их поиска, вам нужно передать инструмент для обработки строк, такой как awk (или оболочка). Инструмент, на который вам следует обратить внимание, это awk , так как awk находит для вас строки так же, как и grep и выполняет обработку для вас, если вам нужно. В нем есть все, что делает grep/sed/etc в одном удобном инструменте.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .