Archive for the ‘Tools’ Category

Grin – поиск по файлам

Sunday, February 6th, 2011

Случайно наткнулся на замечательный инструмент для поиска по файлам:
http://pypi.python.org/pypi/grin
Раньше для поиска пользовался чем-то аля:

find . | xargs grep searchstring

но grin это более высокоуровневая обертка над теми же стандартными юниксовыми командами, которая ищет и подсвечивает результаты сразу “из коробки”:
Все что нужно сделать, это запустить:

grin threading

и насладиться результатом:
…

./multiprocessing/queues.py:
13 : import threading
62 :         self._notempty = threading.Condition(threading.Lock())
152 :         self._thread = threading.Thread(
./multiprocessing/reduction.py:
15 : import threading
70 :     _lock = threading.Lock()
85 :                 t = threading.Thread(target=_serve)

Также, по умолчанию игнорируются все “служебные” директории (аля .svn/, CVS/ and build/.), что очень удобно.
Дополнительные настройки можно экспортировать в GRIN_ARGS, если что-то не устраивает и не вводить каждый раз. Например, добавить в вывод по 2 строчки контекста до и после найденого совпадения:

export GRIN_ARGS="-C 2"