Полезный пример поиска в 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 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 12, 2018 г.
Для того чтобы подсчитать время выполнения, нам понадобится получать время в текущий момент и вычислять разницу. Обе задачи вполне решаемы в консоли UNIX.
Дату мы получим в виде числа секунд и микросекунд с начала UNIX эпохи
[crayon-6968c3c00fa2a776990164/] ...
Читать
Декабрь 3, 2019 г.
Задача возникла в контексте SEO, требовалось предотвратить индексацию тестовых сайтов поисковыми системами. На практике видно, что инструкции файла robots.txt ...
Читать
Март 17, 2024 г.
В Unix для замены текстового значения в группе файлов можно использовать утилиту rpl.
Установите rpl:
[crayon-6968c3c00fe6c562041564/]
Для замены тестовой строки выполните команду в файле FILENAME:
[crayon-6968c3c00fe74058397841/]
Подстановка ...
Читать
Апрель 18, 2019 г.
Пример конфигурации для Varnish, если вы решили отдавать им CORS headers, чтобы разрешить кросс-доменные запросы.
Запросы бывают простые и сложные с точки зрения спецификации CORS, где:
простые запросы - это GET, POST, HEAD с заголовками из ...
Читать