Как мне использовать команду grep в Linux или Apple macOS/OS X? Как я могу использовать команду grep в операционных системах Unix? Можете ли вы дать мне простые примеры команды grep?
Команда grep используется для поиска текста. Он ищет в данном файле строки, содержащие совпадения с заданными строками или словами. Это одна из самых полезных команд в Linux и Unix-подобных системах. Давайте посмотрим, как использовать grep в Linux или Unix-подобной системе.
Требования к руководству | |
---|---|
Операционная система/приложение | Linux/Unix/macOS |
Требуются права root | Нет |
Сложность | Легко (rss) |
Расчетное время завершения | 15 м |
Оглавление
|
- Знаете ли вы?
- Примеры команды grep в Linux и Unix
- Синтаксис
- Как использовать grep для поиска файла в Linux?
- Как использовать grep рекурсивно
- Как использовать grep для поиска слов только
- Как использовать grep для поиска двух разных слов
- Ignore case
- Как я могу подсчитать строку, когда слова были сопоставлены
- Принудительно инвертировать соответствие grep
- Отображать строки до и после совпадения
- Каналы UNIX/Linux
- Как мне перечислить только имена совпадающих файлов?
- Параметр цветов
- Заключение
- Что такое grep и с ч ем его едят
Знаете ли вы?
Имя, «гр ep », происходит от команды, используемой для выполнения аналогичной операции с использованием текстового редактора Unix/Linux ed:
g/re/p
Утилиты grep — это семейство, которое включает в себя grep, egrep и fgrep для поиска. В большинстве случаев вам нужно использовать fgrep, поскольку он самый быстрый и просматривает только строки и слова. Однако набрать grep легко. Следовательно, это личный выбор.
Примеры команды grep в Linux и Unix
Ниже приведена стандартная команда grep, объясненная с примерами, чтобы начать работу с grep в Linux , macOS и Unix:
- Искать в любой строке, содержащей слово в имени файла в Linux: grep 'word' filename
- Выполните поиск слова ‘bar’ без учета регистра в Linux и Unix: grep -i 'bar' file1
- Искать все файлы в текущем каталоге и во всех его подкаталогах в Linux по слову ‘httpd’ grep -R 'httpd'.
- Найдите и отобразите общее количество раз, когда строка ‘nixcraft’ встречается в файле с именем frontpage.md: grep -c 'nixcraft' frontpage.md
Давайте подробно рассмотрим все команды и параметры.
Синтаксис
Синтаксис следующий:
grep 'wor d файл 'filenamefgrep' word-to-search '. txtgrep 'word' file1 file2 file3grep 'string1 string2' filenamecat otherfile | grep 'something'command | grep 'something'command option1 | grep 'data'grep --color' data 'fileNamegrep [-options] pattern filenamefgrep [-options] words file
Как использовать grep для поиска файла в Linux?
Найдите файл/etc/passwd для пользователя boo, введите:
grep boo/etc/passwd
Примеры вывода:
foo: x: 1000: 1000: boo ,,,:/home/boo:/ bin/ksh
Мы можем использовать fgrep/grep, чтобы найти все строки файла, содержащие определенное слово. Например, чтобы перечислить все строки файла с именем address.txt в текущем каталоге, которые содержат слово «Калифорния», выполните:
fgrep California address.txt
Обратите внимание, что приведенная выше команда также возвращает строки, в которых «Калифорния» является частью других слов, например, «Калифорнийская» или «Калифорнийская». Следовательно, передайте параметр -w с командой grep/fgrep, чтобы получить только строки, в которых слово «Калифорния» включено как целое слово:
fgrep -w California address.txt
Вы можете заставить grep игнорировать регистр слов, то есть сопоставлять boo, Boo, BOO и все другие комбинации с параметром -i . Например, введите следующую команду:
grep -i "boo"/etc/passwd
-amphtml-sizer>
Последний grep -i "boo"/etc/passwd также может выполняться с помощью команды cat следующим образом:
cat/etc/passwd | grep -i "boo"
Как использовать grep рекурсивно
Вы можете искать рекурсивно, т.е. читать все файлы в каждом каталоге по строке «192.168. 1.5 ”
$ grep -r" 192.168.1.5 "/etc/
ИЛИ
$ grep -R" 192.168 .1.5 "/etc/
Примеры выходных данных:
/etc/ppp/options: # ms-wins 192.168.1.50/etc/ppp/options:# ms -wins 192.168.1.51/etc/NetworkManager/system-connections/Проводное соединение 1: address1 = 192.168.1.5; 24; 192.168.1.2;
Вы увидите результат для 192.168.1.5 на отдельном строка, которой предшествует имя файла (например,/etc/ppp/options), в котором он был найден. Включение имен файлов в выходные данные можно подавить с помощью параметра -h следующим образом:
$ grep -h -R "192.168. 1.5 "/etc/
OR
$ grep -hR" 192.168.1.5 "/etc/
Примеры выходных данных:
# ms-wins 192.168.1.50 # ms-wins 192.168.1.51addresses1 = 192.168.1.5; 24; 192.168.1.2;
Как использовать grep для поиска слов только
Когда вы ищете boo, grep будет соответствовать fooboo, boo123, barfoo35 и т. д. Вы можете заставить команду grep выбирать только те строки, которые содержат совпадения, образующие целые слова, т.е.. соответствует только boo word:
$ grep -w "boo" file
Как использовать grep для поиска двух разных слов
Используйте команду egrep следующим образом:
$ egrep -w 'word1 | word2'/path/to/file
Ignore case
Мы можем заставить grep игнорировать различия в регистре в шаблонах и данных. Например, когда я ищу «bar», нахожу «BAR», «Bar», «BaR» и так далее:
$ grep -i 'bar'/path/to/file
В этом примере я собираюсь включить все подкаталоги в поиск:
$ grep -r -i 'main' ~/projects/
Как я могу подсчитать строку, когда слова были сопоставлены
Grep может сообщать, сколько раз шаблон был сопоставлен для каждого файла, используя -c (count) параметр:
$ grep -c 'word'/path/to/file
Передайте -n параметр, чтобы перед каждой строкой вывода указывать номер строки в текстовом файле, из которого она была получена:
$ grep -n 'root'/etc /passwd
1: root: x: 0: 0: root:/root:/bin/bash1042: rootdoor: x: 0: 0: rootdoor:/home/rootdoor: /bin/csh3319: initrootapp: x: 0: 0: initrootapp:/home/initroot:/bin/ksh
Принудительно инвертировать соответствие grep
Вы можете использовать -v опция печати инвертирует совпадение; то есть он соответствует только тем строкам, которые не содержат данное слово. Например, напечатайте всю строку, которая не содержит строку слов:
$ grep -v bar/path/to/to/file
$ grep -v '^ root'/etc/ passwd
Отображать строки до и после совпадения
Хотите видеть строки перед совпадениями? Попробуйте передать -B в grep:
grep -B NUM "word" file
grep -B 3 "foo" file1
Аналогично отобразите строки после совпадений, передав -A в строку grep:
grep -A NUM " "/pth/to/file
grep -A 4" drop "/var/log/ufw.log
Мы можем объединить эти два параметра, чтобы получить наиболее значимые результаты:
grep -C 4 -B 5 -A 6 --color 'error-code'/var/log/httpd/access_log
Вот пример сценария оболочки, который получает URL-адреса загрузки ядра Linux:
.........._ out = "/tmp/out. $$" curl -s https://www.kernel.org/> "$ _out" ########## ############### здесь используется grep -A ######################## url = "$ ( grep -A 2 '' $ {_ out} | grep -Eo '(http | https)://[^/"] +. * xz')" gpgurl = "$ {url/ tar.xz/tar.sign} "notify-send" Выпущена новая версия ядра ($ remote). "echo" * Загрузка ядра Linux (новая версия) ... "wget -qc" $ url "- O "$ {dldir}/$ {file}" wget -qc "$ gpgurl" -O "$ {dldir}/$ {gpgurl ## */}" ....... Каналы UNIX/Linux
Команда grep, часто используемая с конвейерами оболочки. В этом примере покажите имя устройств жесткого диска:
# dmesg | egrep '(s | h) d [a-z]'
Отображение названия модели процессора:
# cat/proc/cpuinfo | grep -i 'Model'
Однако указанная выше команда также может использоваться без конвейера оболочки следующим образом:
# grep -i 'Model'/proc/cpuinfo
модель: 30 имя модели: Intel (R) Core (TM) i7 CPU Q 820 @ 1,73 ГГц модель: 30 имя модели: Intel (R) Core (TM) i7 CPU Q 820 @ 1,73 ГГцОдно из моих любимых применений команды grep или egrep для фильтрации вывода команды yum/команда dpkg/команда apt/apt -get команда:
dpkg --list | grep linux-image
yum search php | grep gd
apt search maria | egrep 'сервер | клиент'Команды grep в Linux объяснены с примерами каналов оболочки
Как мне перечислить только имена совпадающих файлов?
Используйте -l для вывода имени файла, в содержании которого упоминается main ():
$ grep -l 'main' * .c
ИЛИ
$ grep -Rl 'main'/path/to/project/dir/
Параметр цветов
Наконец , мы можем заставить grep отображать вывод в цветах, введите:
$ grep --color vivek/etc/passwd
Команда Grep в действии
В заключение, - опция цвета для повышения читабельности. Например, переменную среды GREP_COLOR и grep --color = always можно использовать следующим образом:
GREP_COLOR = '1; 35' grep --color = always 'vivek'/etc/passwd
GREP_COLOR = '1; 32' grep --color = always 'vivek'/etc/passwd
GREP_COLOR = '1; 37' grep --color = always 'root'/etc/passwd
GREP_COLOR = '1; 36' grep --color = always nobody/etc/passwd
Вдобавок к красному цвету по умолчанию теперь мы можем определять цвета с помощью переменной оболочки GREP_COLOR. Разный цвет значительно помогает нам с визуальным отображением grep.Заключение
Команда grep очень универсальна, и многие новые пользователи Linux или Unix считают ее сложной. Поэтому я предлагаю вам также прочитать справочную страницу grep. Подведем итоги большинства параметров импорта:
Параметры команды grep в Linux Описание -i Игнорировать различия в регистре в Linux и Unix -w Заставить ШАБЛОН соответствовать только целым словам -v Выбрать несовпадающие строки -n Печатать номер строки с выходными строками -h Отключить префикс имени файла Unix при выводе -r Рекурсивный поиск каталогов в Linux -R Так же, как -r, но следуйте все символические ссылки -l Печатать только имена ФАЙЛОВ с выделенными строками -c Печатать только количество выбранных строк на ФАЙЛ - цвет Отображать согласованный узор в цветах able>
Если вам понравился учебник по grep, то вы можете прочитать наш учебник «Регулярные выражения в Grep».
Это запись 1 из 7 в серии Linux/UNIX grep Command Tutorial . Продолжайте читать остальную часть серии:
- Как использовать команду grep в Linux/UNIX
- Регулярные выражения в grep
- Поиск Несколько слов/шаблон строки с использованием команды grep
- Grep Count Lines, если строка/слово совпадает
- Grep From Files и отображение имени файла
- Как найти файлы по содержимому в UNIX
- Команда grep: Просмотр только директив файла конфигурации
🐧 Пожалуйста, поддержите мою работу на Patreon или пожертвовав.
🐧 Получите последние руководства по Linux, Open Source и DevOps через:
- RSS-канал или Еженедельная рассылка новостей по электронной почте
- Поделиться в Twitter • Facebook • 317 комментариев ... добавьте один
Связанные руководства
- Как: использовать команду Grep в Unix/Linux для поиска…
- Unix/Linux: команда подсчета слов grep
- -amphtml-sizer> Linux/Unix: команда grep Показывать номера строк, пока…
- Как присвоить значение команды grep переменной в…
- Grep From Files и отображение имени файла в Linux…
- Grep Count Lines If a String /Слово соответствует в Linux…
- HowTo: текст grep между двумя словами в Unix/Linux
Категория Список команд Unix и Linux Управление файлами кот Брандмауэр Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 Сетевые утилиты dig • host • ip • nmap OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 Диспетчер пакетов apk • apt Управление процессами bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time Поиск grep • whereis • which Информация о пользователе группы • id • lastcomm • last • lid/libuser-lid • логин • участники • пользователи • whoami • who • w WireGuard VPN Alpine • CentOS 8 • Debian 10 • Межсетевой экран • Ubuntu 20.04
Что такое grep и с ч ем его едят
- Настройка Linux,
- Системное администрирование,
- * nix
Эта заметка навеяна мелькавшими последним временем на хабре постами двух тематик - «интересные команды unix» и «как я подбирал программиста». И описываемые там команды, конечно, местами интересные, но редко практически полезные, а хорошо, что реально полезным инструментарием мы пользоваться и не умеем.
Небольшое лирическое отступление:
претендентами на должность unix-сисадмина. На двух принципах фриланс-биржах на вакансию откликнулись восемь претендентов, двое из которых входили в ТОП-5 рейтинга этих бирж. Я никогда не требую от админов знания наизусть конфигов и считаю, что нужный софт всегда освоится, если есть желание читать, логика в действиях и умение правильно пользоваться инструментарием системы. Посему для начала претендентам были даны две задачки, примерно такого плана:
- выполнить задание в каждый чётный час и в 3 часа;
- распечатать из файла/var/run/ dmesg.boot информацию о процессоре.К моему никто из претендентов с обоими вопросами не справился. Двое, в принципе, не знали о существовании grep.
![]()
Поэтому… Лето… Пятница… Перед шашлыками немного поговорим о grep.
Зная местную публику и дабы не разлишних инсинуаций сообщаю, что всё нижеизложенное справедливо для
# grep --version | grep grepgrep (GNU grep) 2.5.1-FreeBSD
Это важно в связи с
# man grep | grep -iB 2 freebsd -P, --perl-regexp Интерпретировать ШАБЛОН как регулярное выражение Perl. Эта опция не поддерживается во FreeBSD.
Для начала о том, как мы обычно grep'аем файлы.
Используя cat:root @ nm3:/# cat/var/run/dmesg.boot | grep CPU: CPU: Intel (R) Core (TM) 2 Quad CPU Q9550 @ 2,83 ГГц (процессор класса K8 2833,07 МГц)
Но зачем? Ведь можно и так:
root @ nm3:/# grep CPU:/var/run/dmesg.bootCPU: Intel (R) Core (TM) 2 Quad CPU Q9550 @ 2,83 ГГц (процессор 2833,07 МГц класса K8)
Или вот так (ненавижу такую конструкцию):
root @ nm3:/# /run/dmesg.boot grep CPU: CPU: Intel (R) Core (TM) 2 Quad CPU Q9550 @ 2,83 ГГц (2833,07 МГц CPU класса K8)
Зачем-то считают отобранные строки с помощью wc:
root @ nm3:/# grep ПРЕДУПРЕЖДЕНИЕ/var/run/dmesg.boot | wc -l 3
Хотя можно:
root @ nm3:/# grep WARNING/var/run/dmesg. boot -c3
Сделаем тестовый файлик:
test.txtroot @ nm3:/# grep ". *" test.txtone два три семь восемь один восемь тринадцать четырнадцать пятнадцать шестнадцать семнадцать семнадцать восемнадцать семнадцать семнадцать восемнадцать двадцать семь оне 504 oneone 503 oneone 504 oneone 504 one # comment UPtwentyseven # комментарий douthwenty1twenty3twenty5twenty7
И приступим к поискам:
Опция -w позволяет искать по слову целиком:root @ nm3:/# grep -w 'seven' test.txtseven восемь один восемь три шестнадцать семнадцать восемнадцать семь двадцать семь
А если нужно до начала или конца слова?
root @ nm3:/# grep ' ' test.txtseven восемь один восьмой ree шестнадцать семнадцать восемнадцать семь двадцать семь двадцать семь
Стоящие в начале или конце строки?
root @ nm3:/# grep ' ^ seven 'test.txtseven восемь один восемь три корень @ nm3:/# grep' seven $ 'test. txt шестнадцать семнадцать восемнадцать семь двадцать семьwentysevenroot @ nm3:/#
Хотите увидеть строки в окрестностях искомой?
root @ nm3 :/# grep -C 1 Twentyseven test.txt # comment UPtwentyseven #comment down
Только снизу или сверху?
root @ nm3:/# grep -A 1 Twentyseven test.txttwentyseven #comment downroot @ nm3:/# grep -B 1 Twentyseven test.txt # comment UPtwentyseven
А ещё мы умеем так
root @ nm3:/# grep "двадцать [1-4]" test.txttwenty1twenty3
И наоборот исключая эти
root @ nm3:/# grep "двадцать [^ 1-4]" test.txt двадцать семьдесят семьвентwenty5twenty7
Разумеется, grep поддерживает и прочие базовые квантификаторы, метасимволы и другие прелести регулярок
Пару практических примеров:root @ nm3:/# cat/etc/resolv.conf #options edns0 # nameserver 127.0.0.1nameserver 8.8.8.8nameserver 77.88.8.8nameserver 8.8.4.4
Отбираем только строки с ip:
root @ nm3:/# grep -E "[0-9] {1,3} . [0-9] {1,3} . [0-9] {1,3} . [0-9] {1,3} "/etc/resolv.conf#nameserver 127.0.0.1nameserver 8.8.8.8nameserver 77.88.8.8nameserver 8.8.4.4
Работает, но так симпатичнее:
root @ nm3:/# grep -E ' b [ 0-9] {1,3} (. [0-9] {1,3}) {3} b '/etc/resolv.conf#nameserver 127.0.0.1nameserver 8.8.8.8nameserver 77.88.8.8nameserver 8.8 .4.4
Уберём строку с комментарием?
root @ nm3:/# grep -E ' b [0- 9] {1,3} (. [0-9] {1,3}) {3} b '/etc/resolv.conf | grep -v '#' nameserver 8.8.8.8nameserver 77.88.8.8nameserver 8.8.4.4
А теперь выберем только сами ip
корень @ nm3:/# grep -oE ' b [0-9] {1,3} (. [0-9] {1,3}) {3} b'/etc/resolv.conf | grep -v '#' 127.0.0.18.8.877.88.8.88.8.4.4Вот незадача… Закомментированная строка вернулась. Это связано с особенностью обработки шаблонов. Как быть? Вот так:
root @ nm3:/# grep -v '#'/etc/resolv.conf | grep -oE ' b [0-9] {1,3} (. [0-9] {1,3}) {3} b'8.8.8.877.88.8.88.8.4.4
Здесь остановимся на инвертировании поиска ключом -v
Допустим нам нужно выполнить «ps -afx | grep ttyv »root @ nm3:/# ps -afx | grep ttyv 1269 v1 Is + 0: 00.00/usr/libexec/getty Pc ttyv1 1270 v2 Is + 0: 00.00/usr/libexec/getty Pc ttyv2 1271 v3 Is + 0: 00.00/usr/libexec/getty Pc ttyv3 1272 v4 Is + 0: 00.00 /usr/libexec/getty Pc ttyv4 1273 v5 Is + 0: 00.00/usr/libexec/getty Pc ttyv5 1274 v6 Is + 0: 00.00/usr/libexec/getty Pc ttyv6 1275 v7 Is + 0: 00.00/usr/libexec/getty Pc ttyv7487 2 S + 0: 00.00 grep ttyv
Всё бы ничего, но строка «48798 2 S + 0: 00.00 grep ttyv» нам не нужна. Используем -v
root @ nm3:/# ps -afx | grep ttyv | grep -v grep 1269 v1 Is + 0: 00.00/usr/libexec/getty Pc ttyv1 1270 v2 Is + 0:00. 00/usr/libexec/getty Pc ttyv2 1271 v3 Is + 0: 00.00/usr/libexec/getty Pc ttyv3 1272 v4 Is + 0: 00.00/usr/libexec/getty Pc ttyv4 1273 v5 Is + 0: 00.00/usr/libexec/getty Pc ttyv5 1274 v6 Is + 0: 00.00/usr/libexec/getty Pc ttyv6 1275 v7 Is + 0: 00.00/usr/libexec/getty Pc ttyv7
Некрасивая конструкция? Потрюкачим немного:
root @ nm3:/# ps -afx | grep "[t] tyv" 1269 v1 Is + 0: 00.00/usr/libexec/getty Pc ttyv1 1270 v2 Is + 0: 00.00/usr/libexec/getty Pc ttyv2 1271 v3 Is + 0: 00.00/usr/libexec/getty Pc ttyv3 1272 v4 Is + 0: 00.00/usr/libexec/getty Pc ttyv4 1273 v5 Is + 0: 00.00/usr/libexec/getty Pc ttyv5 1274 v6 Is + 0: 00.00/usr/libexec/getty Pc ttyv6 1275 v7 Is + 0: 00.00/usr/ libexec/getty Pc ttyv7
Также не забываем про | (ИЛИ)
root @ nm3:/# vmstat -z | grep -E "(sock | ITEM)" ПРЕДЕЛ РАЗМЕРА ПРЕДМЕТА ИСПОЛЬЗУЕМЫЙ БЕСПЛАТНЫЙ REQ FAIL SLEEPsocket: 696, 130295, 30, 65, 43764, 0, 0
ну и тоже самое, иначе:
root @ nm3:/# vmstat -z | grep "sock | ITEM" ПРЕДМЕТ РАЗМЕР ИСПОЛЬЗУЕТСЯ БЕСПЛАТНО REQ FAIL SLEEPsocket: 696, 130295, 30, 65, 43825, 0, 0
Ну и если об использовании регулярок в grep
POSIX[: alpha:] помнят многие, чтобы об использовании классов POSIX как-то забывают, а это тоже иногда удобно. ] Любой алфавитный символ, независимо от регистра
[: digit:] Любой числовой символ
[: alnum:] Любой алфавитный или цифровой символ
[: blank:] Пробелы или символы табуляции
[: xdigit:] Шестнадцатеричные символы; любое число или A – F или a – f
[: punct:] Любой символ пунктуации
[: print:] Любой печатный символ (не управляющие символы)
[: space: ] Любой пробельный символ
[: graph:] Исключить пробельные символы
[: upper:] Любая прописная буква
[: lower:] Любая строчная буква
[: cntrl:] Управляющие символыОтберём строки с заглавными символами:
root @ nm3:/# grep "[[: upper:]]" test.txt # comment UP
Плохо видно что нашли? Подсветим:
![]()
Ну и ещё пару трюков для затравки.
Первый скорее академичный. За лет 15 ни разу его не использовал:
Нужно из нашего тестового файла выбрать строку шесть или семь или восемь:
Пока всё просто:root @ nm3:/# grep -E "(шесть | семь | восемь)" test.txtseven восемь один восемь три шестнадцать семнадцать восемнадцать семнадцать семнадцать семнадцать восемнадцать двадцать семьдесят семь
А теперь только те строки в которых шесть или семь или восемь встречаются несколько раз. Эта фишка именуется Обратные ссылки
root @ nm3:/# grep -E "(six | seven | восемь). * 1" test.txtseven восемь один восемь три шестнадцать семнадцать восемнадцать семь
Ну и второй трюк, куда более полезный. Необходимо вывести строки в которых 504 с обеих сторон ограничено табуляцией.
Ох как тут не хватает поддержки PCRE…
Использование POSIX-классов не спасает:root @ nm3:/# grep "[[ : blank:]] 504 [[: blank:]] "test.txtone 504 oneone 504 oneone 504 one
На помощь приходит конструкция [CTRL + V] [TAB]:
root @ nm3:/# grep "504" test.txtone 504 one
Что ещё не сказал? Разумеется, grep умеет искать в файлах/каталогах и, конечно, рекурсивно. Найдём в исходниках код, где разрешается использование Intel'ом сторонних SFP-шек. Как пишется allow_unsupported_sfp или unsupported_allow_sfp не помню. Ну да и ладно - это проблемы grep'а:
root @ nm3:/# grep -rni allow/usr/src/sys/dev/| grep unsupp/usr/src/sys/dev/ixgbe/README: 75: неподдерживаемых модулей, установив статическую переменную 'allow_unsupported_sfp'/usr/src/sys/dev/ixgbe/ixgbe.c: 322: static int allow_unsupported_sfp = TRUE ;/usr/src/sys/dev/ixgbe/ixgbe.c: 323: TUNABLE_INT ("hw.ixgbe.unsupported_sfp", & allow_unsupported_sfp);/usr/src/sys/dev/ixgbe/ixgbe.c: 542: hw- > allow_unsupported_sfp = allow_unsupported_sfp;/usr/src/sys/dev/ixgbe/ixgbe_type.h: 3249: bool allow_unsupported_sfp;/usr/src/sys/dev/ixgbe/ixgbe_phy.c: 1228: if (hwpported) ИСТИНА) {
Надеюсь не утомил. И это была только вершина айсберга grep. Приятного Вам чтения, а мне аппетита на шашлыках!
Ну и удачного Вам grep'a!
- Теги:
- grep
- Хабы:
- Настройка Linux
- Системное администрирование
- * nix
Укажите причину минуса, чтобы автор поработал над ошибками