grepWin: Возможно ли использовать Regex в путях поиска?

grepWin: Возможно ли использовать Regex в путях поиска?

Regex разрешен в полях "Search For" и "File Names match" в grepWin. Я бы также хотел использовать regex для указания списка путей в поле "Search in". Поддерживается ли это, и если да, то каков правильный синтаксис?

В настоящее время мое поле «Искать в» содержит что-то вроде того, Path1\|Path2\|Path3\ что я хотел бы иметь, Path1\.*\source\|Path2\.*\TestData\чтобы иметь возможность получить все файлы во всех папках с именем «source» в различных подпапках Path1 и папки с именем «TestData» в подпапках Path2 без поиска в каждой папке в Path1 и Path2.

Наивный подход заключался бы в явном указании всех возможных путей, содержащих "source" Path1\package1\source\|Path1\package2\sourceи т. д., чтобы я получил все эти "source" каталоги ниже Path1 и ничего больше, но их много, и список постоянно растет. Кроме того, поиск по всему Path1 явно функционален, но его можно было бы сделать значительно быстрее, уменьшив объем обрабатываемых файлов.

Я пробовал разные варианты, чтобы понять, каким может быть синтаксис, если в этом поле поддерживается regex, но пока не видел никаких доказательств того, что он работает. Использование '|' в качестве разделителя по умолчанию предполагает, что парсинг происходит, но regex либо не поддерживается, либо поддерживается каким-то нестандартным образом, так что '|' может вести себя так, как он это делает.

решение1

The grepWin командная строка не поддерживает более одного параметра пути (и не поддерживает регулярные выражения).

Чтобы решить вашу проблему, нужно написать пакет ( .bat), который соберет все ваши папки поиска в один файл, а затем выполнит grepWin для каждой папки.

Возможно, есть лучшие решения с другими инструментами, но это отдельный вопрос.

Связанный контент