Покажите количество соответствия всех файлов, которые содержат слово

То, что является единственной командой, раньше определяло только количество соответствия всех строк в файлах под /etc каталог, которые содержат слово "ХОСТ"?

Я должен перечислить только файлы с соответствиями и подавить любые сообщения об ошибках.

2
задан 19.11.2014, 11:29

4 ответа

Считать соответствия, перечисляя только имя (имена) файла и количество:

grep -src HOST /etc/*

Пример произвел:

/etc/postfix/postfix-files:1
/etc/security/pam_env.conf:6
/etc/X11/app-defaults/Ddd.3.3.11:1
/etc/X11/app-defaults/Ddd:1
/etc/zsh/zshrc:0
/etc/zsh/zshenv:0

-c опция подавляет нормальный вывод и печатает счет соответствия для каждого файла.

Если требуется подавить файлы с нулевыми количествами:

grep -src HOST /etc/* | grep -v ':0$'

Распечатать номер строки (-n) и имя файла (-H) для каждого согласующего отрезка длинной линии для любого количества входных файлов:

grep -srnH HOST /etc/*

Пример произвел:

/etc/lynx-cur/lynx.cfg:254:.h2 LYNX_HOST_NAME
/etc/lynx-cur/lynx.cfg:255:# If LYNX_HOST_NAME is defined here or in userdefs.h, it will be
/etc/X11/app-defaults/Ddd.3.3.11:8005:    DDD 3.3.11 (@THEHOST@) gets @CAUSE@\n\
/etc/X11/app-defaults/Ddd:8010:    DDD 3.3.12 (@THEHOST@) gets @CAUSE@\n\

Опция -r причины grep рекурсивно искать файлы в каждом подкаталоге на всех уровнях в соответствии с указанным каталогом. -s опция подавляет сообщения об ошибках.

Для подавления соответствий двоичных файлов используйте -I опция.

Посмотрите man grep для получения дополнительной информации.

8
ответ дан 08.12.2019, 04:43

Не одна команда, но это - одна строка

что-то как

 grep -r ',,HOST' . | wc -l
1
ответ дан 08.12.2019, 04:43

Вопрос сформулирован немного нечетный. Сначала это просит сумму строк, чтобы соответствие во всех файлах, затем это хотело, чтобы Вы перечислили имена файлов.

Считать согласующие отрезки длинной линии во всех файлах:

grep -R "HOST" /etc 2> /dev/null | wc -l

Перечислять имена файлов:

grep -Rl "HOST" /etc 2> /dev/null
1
ответ дан 08.12.2019, 04:43
grep -c HOST *

… должен сделать это.

1
ответ дан 08.12.2019, 04:43

Теги

Похожие вопросы