Полезный пример поиска в UNIX, чтобы найти файлы, содержащие 2 и более разных подстрок. Например, мне нужно было найти все файлы конфигурации, в которых одновременно есть значение «field_spacing» и «excluded: false».
Grep такой функции поиска не имеет, разве что вы напишите сложное регулярное выражение, которое учитывает ваши требования. Потому мы воспользуемся piping в UNIX и составим следующую команду:
|
|
grep -rlZ 'field_spacing' \ | xargs -0 grep -l 'excluded: false' |
Используя xargs вы можете наращивать цепочку далее и получить более сложные условия выборки.
|
|
grep -rlZ 'str1' \ | xargs -0 grep -l 'str2' | xargs -0 grep -l 'str3' |
Дополнительно можно ограничить поиск по определенным файлам, ключ —include:
|
|
grep -rlZ 'field_spacing' --include=field* \ | xargs -0 grep -l 'excluded: false' |
Добавим сортировку, чтобы удобно было работать со списком файлов:
|
|
grep -rlZ 'field_spacing' --include=field* \ | xargs -0 grep -l 'excluded: false' \ | sort |
UNIX
Данная запись опубликована в 06.10.2023 15:00 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Декабрь 3, 2019 г.
Задача возникла в контексте SEO, требовалось предотвратить индексацию тестовых сайтов поисковыми системами. На практике видно, что инструкции файла robots.txt ...
Читать
Декабрь 2, 2018 г.
Lessc не имеет ключа 'слежения', чтобы выполнять перекомпиляцию при изменении less файлов проекта, как например это сделано у sass компилятора. Это весьма не удобно на этапе верстки шаблона из макета.
Для отслеживания я установил UNIX утилиту inotify. ...
Читать
Январь 23, 2017 г.
В данном случае от "404 ошибки - файл не найден" нас отделяет целая пропасть. Файл найден, но сервер его не спешит отдавать пользователю, т.к. считает, что у пользователя не достаточно на это прав.
Если сервер предотвратил несанкционированный доступ ...
Читать
Апрель 8, 2019 г.
Речь пойдет о полезных командах для просмотра логов в UNIX. Все мы знаем, что в папке /var/log, демоны unix-системы типично сохраняют свои логи.
Переходим в нужную папку:
[crayon-6a2d7b5e8437b335461129/]
К примеру, мы хотим посмотреть файл ...
Читать