Полезный пример поиска в 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-6a23909f7bc86858989519/]
При этом в консоли ...
Читать
Февраль 6, 2018 г.
Как развернуть дамп базы данных mySQL, созданный ранее?
Дамп представляет из себя mysql скрипт, в котором последовательно создаются таблицы (CREATE TABLE ...) и, возможно, другие объекты и производиться их наполнение (INSERT INTO ...). Нужно лишь отправить ...
Читать
Сентябрь 12, 2018 г.
Как произвести в bash/sh простейшие вычисления? Давайте рассмотрим несколько примеров.
Операции с целыми числами
Пока вас интересуют целочисленные вычисления, вы можете пользоваться командами встроенными в bash.
Вот 6 арифметических команд, которые ...
Читать
Август 22, 2013 г.
Те кто постоянно работает в командной строке UNIX, не находят ничего сложного в использовании разных утилит. Мне иногда приходится общаться с UNIX через ...
Читать