понедельник, 16 мая 2011 г.

TextAnalysisTool.NET

imageВася Гусев затвитил сообщение о небольшом, но, кажется, вполне себе полезном инструменте: TextAnalysisTool.NET. Оно простое, но может оказаться полезным. По-сути, делает это инструмент не очень много: всего лишь ищет в файле разные строчки. Вы тоже подумали “кто написал такую хрень”? У нас есть findstr, не говоря уже о PoSh. Я тоже так думал, но решил дать программке маленький шанс, после чего обнаружил, что есть ситуации, в которых утилита просто прекрасно подходит:

  1. Поиск нескольких строк одновременно. С использованием всего, что названо выше, это не слишком удобно. С описываемой утилитой – вполне. 
  2. Вам нужно не только найти саму строку, но и увидеть, что ее окружает. 
  3. Нужно подправить строку поиска для большого файла. Когда для этого используется, скажем, findstr, она читает весь файл каждый раз. В моем случае (файл объемом 640MBбольше 2000000 строк) это занимает от 60 до 80 секунд. Так как TextAnalysisTool.Net не перечитывает при этом файл, то поиск новой строки отнимает не более 20 секунд. На PoSh, возможно, можно добиться такого же результата, но прибавляя еще первые два пункта мы все-таки отдадим пальму первенства по удобству нашей утилите.

Что может делать наш инструмент:

  • Открывать файлы (удивительно, не правда ли? =)). Так же можно их перезагрузить, если они меняются.

image

  • Сохранять и подгружать наборы фильтров. Может оказаться удобным, если Вы постоянно ищите одни и те же наборы данных. (наборы фильтров хранятся в XML, кстати, можете взглянуть на них)
  • Обычный поиск, как в Winword. Разве что можно искать с помощью.

image

  • Переключение отображения между полным текстом файла и только найденными строчками.

image

image

  • Пометить некоторые строки (просто выберите их и нажмите Ctrl+<цифра>) и потом Вы сможете быстро перейти к ним просто нажав цифру.

image

  • Создавать и редактировать фильтры, ради чего все-таки это и затевалось. Фильтр может содержать и обычные строки и регулярные выражения. Результат можно подкрасить. 

image

В общем, оно теперь содержится в моем арсенале ;)

Комментариев нет: