6

Случай использования заключается в том, что я ищу определенный атрибут CSS в каталоге файлов HTML/CSS/JS (включая подкаталоги). Некоторые однострочные JS-библиотеки также имеют атрибут CSS, который я ищу.

Так есть ли способ сказать grep, что он не должен давать результат в строке, которая длиннее, чем мой определенный $ max_line_length?

Спасибо!

1 ответ1

11

При первом подходе попытайтесь исключить однострочные файлы JS от поиска в первую очередь. Часто они будут иметь имя, например some-library.min.js, поэтому вы можете сделать что-то вроде:

$ grep --exclude '*.min.js' ...

Другой подход заключается в том, что, если вы знаете, что он будет в файле CSS, вы можете использовать ack, чтобы ограничить ваш поиск файлами CSS (и игнорировать различные ошибки VCS):

$ ack --type=css ...

Однако, чтобы ответить на ваш вопрос, вы можете написать регулярное выражение, соответствующее длине строки. Следующее будет соответствовать любой строке с 100 или менее символов.

$ grep -E '^.{,100}$'

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