Найти файлы, содержащие две нужные строки

Полезный пример поиска в UNIX, чтобы найти файлы, содержащие 2 и более разных подстрок. Например, мне нужно было найти все файлы конфигурации, в которых одновременно есть значение «field_spacing» и «excluded: false».

Grep такой функции поиска не имеет, разве что вы напишите сложное регулярное выражение, которое учитывает ваши требования. Потому мы воспользуемся piping в UNIX и составим следующую команду:

Используя xargs вы можете наращивать цепочку далее и получить более сложные условия выборки.

Дополнительно можно ограничить поиск по определенным файлам, ключ —include:

Добавим сортировку, чтобы удобно было работать со списком файлов:

Мало букафф? Читайте есчо !

GREP - показываем только ближайшее символы от найденного совпадения

Ноябрь 28, 2018 г.

По умолчанию GREP выводит всю строку, где был обнаружен указанный вами шаблон поиска. Для форматированных текстовых файлов это подходит. Но если в поиск попадает минифицированный текстовый или binary файл, то в консоль вываливается неприлично много текста. ...

Читать

Скрипт слежения за изменениями в less файлах

Декабрь 2, 2018 г.

Lessc не имеет ключа 'слежения', чтобы выполнять перекомпиляцию при изменении less файлов проекта, как например это сделано у sass компилятора. Это весьма не удобно на этапе верстки шаблона из макета. Для отслеживания я установил UNIX утилиту inotify. ...

Читать

Выполнение команды от имени другого пользователя

Март 17, 2022 г.

Команда su позволяет выполнить любую операцию от имени существующего пользователя. К примеру от имени пользователя nginx: [crayon-6ab8ab19887f3912707398/] Должно вывести nginx, но скорее всего ничего не получится и вы увидите сообщение ...

Читать

Настройка VPN для преодоления блокировок

Сентябрь 8, 2024 г.

Продолжается развиваться ситуация в духе "все запретить", на этот раз прикрыли youtube. Понятно, что это ожидалось, и площадка youtube вовлечена во все ...

Читать
 

Комментарии к «Найти файлы, содержащие две нужные строки»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: