Grep


 * sed

Поиск внутри файлов и вывод найденной строки. Но может выводить только то что найдено, а не всю строку (ключ -o).

Несколько условий pkg_info | grep -E 'dom|filter' или pkg_info | grep -e dom -e filter

Отобразить в результате только имена файлов, в которых найдено совпадение grep -lR sshd /etc/

Вывести все строчки, у которых вначе нет точки с запятой: grep -v "^;" /var/local/named_ns1/pri/90.108.89.in-addr.arpa |less

Вывод строк также перед строкой, где найдено вхождение make search name=pecl | grep -B 2 ID3  Port:  pecl-id3-0.2 Path:  /usr/ports/audio/pecl-id3 Info:  Extension to read and write ID3 tags in MP3 files 

Убрать пробелы grep -v '^$' text

Рекурсивный поиск grep -R sshd /etc/

Рекурсивный поиск только по файлам ?

Рекурсивный поиск только по определённым директориям --include=PATTERN

Игнорировать регистр -i

Регулярные выражения
Регулярные выражения в стиле Perl (выбор этого диалекта РВ через ключ -P, --perl-regexp) не поддерживаются в версии grep для FreeBSD

По умолчанию заданное правило трактуется как basic regular expression. Это некий упрощённый вариант RE.

Только нужного вывод
perl-style РВ grep -P -o 'linkURL(.*)' gallery.xml > gallery2.xml grep -P -o 'images(.*)' gallery2.xml | cut -d / -f 2 cat gallery3.xml | cut -d '"' -f 1 > list0

Прочее
Раскраска результатов вывода setenv GREP_OPTIONS '--color=auto' setenv GREP_COLOR '100;9'