Ищете быструю программу "Найти в файлах" - PullRequest
1 голос
/ 21 декабря 2010

В настоящее время у меня есть каталог с 98 000 отдельных файлов архивных транзакций. Мне нужно искать в этих файлах строки пользовательского ввода и иметь возможность открывать файлы по мере их обнаружения или в конце поиска. В настоящее время я использую Notepad ++, и хотя он работает, он довольно медленный. Я думал о написании своих собственных, но я знаком только с .NET и я новичок. Кроме того, я не уверен, насколько это эффективно по сравнению с NP ++.

Этот инструмент будет использоваться снова и снова, поэтому время разработки определенно стоило бы того, если бы до этого дошло. Есть ли какой-нибудь другой инструмент, который уже разработан, который бы достиг этого?

Ответы [ 4 ]

4 голосов
/ 21 декабря 2010

Агент Ransack

Я использую его годами.

3 голосов
/ 21 декабря 2010

Я рекомендую вам использовать Astrogrep , утилиту grep для Windows. Вы можете открывать файлы по мере их нахождения и показывать строку, где было найдено совпадение, без необходимости открывать файл.

1 голос
/ 21 декабря 2010

Если файлы архивных транзакций представляют собой обычный текст, вы можете загрузить CYGWIN , представляющую собой среду, предоставляющую инструменты UNIX для Windows.

Как только это будет сделано, вы можете открыть новую оболочку Cygwin Bash, затем наберите cd 'c:\\foo', чтобы войти в каталог с вашими файлами, затем наберите grep -F -r "my string" *, чтобы найти свой текст. (-F означает, что он ищет эту буквальную строку в отличие от регулярного выражения, а -r означает рекурсивный.)

0 голосов
/ 21 декабря 2010

Возможно, это слишком много, но вы можете проиндексировать папку, используя Lucene , сохранить обновление индекса (при добавлении файлов транзакций), и тогда поиск займет тривиальное количество времени, вы можете настроить таргетинг на файл, строку и номер слова каждого совпадения для заданной строки поиска

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...