4

Я знаю, что grep -irn "#page-title" будет искать во всех файлах соответствующий текст, но по соображениям производительности я хотел бы ограничить поиск ТОЛЬКО файлами, которые являются файлами css. В Windows PowerShell это:

ls *.css -r | select-string "#page-title"

Бонусные баллы, как мне ограничить это файлами, которые НЕ имеют префикс css_

3 ответа3

7
find -name "*.css" ! -name "css_*" | xargs grep -H "#page-title"

find - это командная строка unix с двумя наборами параметров. Первый параметр, -name "*.css" , указывает find искать файлы с расширением CSS ! -name "css_*" указывает находке исключать или игнорировать файлы, начинающиеся с css_ . Этот список файлов затем передается в команду xargs, которая передает список в качестве параметров в команду grep, которой предписывается найти «# page-title» из списка и распечатать имя файла, используя параметр -H .

4

Это должно сделать свое дело

grep -r --include="*.css" "#page-title" ./
0

Я только что загрузил grepcss: https://github.com/Red-Seadog/grepcss

grepcss понимает язык CSS, поэтому вы можете выполнить команду find, как описано выше, с

| xargs grepcss -s '#page-title'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .