Предполагая, что в каждой строке только один, вы можете начать с чего-то вроде:
grep '\.html' | grep -v '/app/.*\.html'
Первый доставит все те, которые имеют .html
.Второй удалит из этого списка все те, которые имеют вариант app
, оставляя только те, которые нарушают ваш чек.
Очевидно, что это, возможно, потребуется отрегулировать в зависимости от того, насколько хитры ваши строки (более одногоза строку, другие вещи в строке и т. д.), но это «даст мне список всех возможных нарушений, а затем устранит те, которые не являются нарушениями», это проверенный и проверенный метод.
Например (например, как Кентпредлагает), вы можете убедиться, что все HTML-файлы напрямую в каталогах app
, а не, возможно, app/something/xyzzy.html
.В этом случае вы можете просто настроить второй фильтр, чтобы обеспечить следующее:
grep '\.html' | grep -v '/app/[^/]*\.html'
Используя [^/]*
(любое количество не /
символов) вместо .*
(любое количество символов,в том числе /
) останется в тех, у которых нет HTML-файла непосредственно в каталоге app
.