Полезный пример поиска в 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 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Июнь 22, 2021 г.
В Юникс системах можно перенаправить вывод выполняемой команды в лог-файл, но иногда хотелось бы видеть результаты работы одновременно и в консоли.
Вот пример перенаправления вывода в файл:
[crayon-6a7a72dc8450c765734669/]
При этом в консоли ...
Читать
Апрель 8, 2019 г.
Речь пойдет о полезных командах для просмотра логов в UNIX. Все мы знаем, что в папке /var/log, демоны unix-системы типично сохраняют свои логи.
Переходим в нужную папку:
[crayon-6a7a72dc846e6533986047/]
К примеру, мы хотим посмотреть файл ...
Читать
Февраль 20, 2018 г.
Если вы укажите полный путь архивируемой папки в UNIX, то файлы будут размещены в архиве вместе полным путем. Не всегда это удобно и правильно, зависит от выполняемой задачи.
Как отсечь абсолютные пути, оставив только относительные?
Для этого ...
Читать
Февраль 23, 2018 г.
Решаем задачу о копировании файлов из каталога SRC в каталог DST, но только определенных заданных типов, сохраняя структуру каталогов.
Это может понадобиться для сбора ассетов проекта, создания архивов и т.п.
К примеру, вы хотите скопировать ...
Читать