Используя grep для нахождения строки в файлах

Как я могу найти строку в файлах в каталоге, с помощью имен файлов, начинающихся с буквы A. Я также хочу получить количество случаев этой строки от grep Я работаю.

Я попробовал это

cat * | grep -c строка, но это ищет все файлы. Я просто хочу искать файлы, которые начинаются с буквы A

3
задан 30.10.2011, 22:38

5 ответов

grep -c string a*
8
ответ дан 07.12.2019, 22:50

grep -c string a*

4
ответ дан 07.12.2019, 22:50

альтернативный метод, дающий Вам питание и гибкость команды 'находки':

найти. - называют "*" | xargs grep-c строка

3
ответ дан 07.12.2019, 22:50

grep-c представляют в виде строки*

1
ответ дан 07.12.2019, 22:50

Как другие сказали, Ваше основное решение:

grep -c string a*

Вы сказали, что хотели отсортировать файлы и перечислить дополнительную информацию.

Вы не можете получить все это с grep, но иметь ls, вносят свой вклад его, если Вы не волнуетесь по поводу эффективности, и файлы не имеют пробелов или других странных символов:

ls -tr `grep -l string a*` | while read file; do
    grep -c string "$file" | tr '\n' '\t'
    ls -l "$file"
done

Первый grep в обратных галочках ищет соответствие файлам, перечисляя только имена. Первый ls затем сортирует ls ко времени изменения наоборот. Мы затем перерываем каждый файл во второй раз, чтобы считать случаи и предварительно ожидать количество к стандарту "ls-l" список.

Это будет медленно; при реальной необходимости в более быстрой версии, можно, вероятно, изрубить один в языке сценариев.

0
ответ дан 07.12.2019, 22:50

Теги

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