не мог найти это на SO. Я запустил следующую команду в терминале:
>> grep -Rl "curl" ./
и это отображает список файлов, где происходит ключевое слово curl. Я хочу посчитать количество файлов. Первый способ, который я могу придумать, - это подсчитать количество строк в выводе, поступившем в терминал. Как я могу это сделать?
-c
флаг, который просто возвращает счетчикОтветы:
Передайте результат с
wc
помощью переключателя-l
( счетчик строк ):источник
grep "" -c
но это гораздо приятнее :)grep -c
следует использовать встроенную функцию вместо передачи вывода в другую программу. Например, вы даже не изменили бы символы в вашем документе Word с помощью другого текстового редактора, чем Word, не так ли?Выкладываем комментарий EaterOfCode сюда как ответ.
Таким образом, команда и вывод могут выглядеть следующим образом.
РЕДАКТИРОВАТЬ:
Хотя этот ответ может быть короче и, следовательно, может показаться лучше, чем принятый ответ (который используется
wc
). Я не согласен с этим больше. Я чувствую, что вспоминать, что вы можете считать строки по трубопроводу,wc -l
гораздо полезнее, так как вы можете использовать его с другими программами, чем с другимиgrep
.источник
Трубопровод к 'wc' может быть лучше, если последняя строка заканчивается новой строкой (я знаю, что в этом случае это будет)
Однако, если последняя строка не заканчивается новой строкой, 'wc -l' возвращает ложный результат.
Например:
Вернется
1
иВернется
0
Так что я часто использую это
grep <anything> -c
Это ближе к реальности, чем то,
wc -l
что вернется.источник