Xpoint
   [напомнить пароль]

Цветной grep для windows своими руками

Цветной grep для Windows своими руками

Часто утилита grep используется для того, чтобы посмотреть в каких местах каких файлов встречается некоторое слово. Просматривать результат в консоли, выискивая глазами искомую комбинацию символов достаточно утомительно. Гораздо приятнее было бы, если б grep подсвечивал результаты поиска. Существуют версии grep которые это делают. Но зачем их искать и устанавливать, когда у нас под рукой есть Perl?

Совсем небольшой скрипт сделает то, что нам надо:

#!perl -n --

use Win32::Console;

BEGIN {
    $CON = new Win32::Console(STD_OUTPUT_HANDLE);
    $attr = $CON->Attr();
    $pattern = shift @ARGV;
    @ARGV = grep -f, map{glob $_} @ARGV;
}

/$pattern/ or next;

$CON->Write("$ARGV: $`");
$CON->Attr($FG_YELLOW | $BG_BLUE);
$CON->Write($&);
$CON->Attr($attr);
$CON->Write($');

END {
    print "-- Press [Enter] --\n";
    <STDIN>;
}

Если воспользоваться стандартной утилитой pl2bat и перевести этот скрипт в bat файл, а получившийся grep.bat поместить в папку, которая прописана в переменную окружения %PATH%, то самодельным grep`ом можно будет пользоваться почти как стандартным. "Почти" — потому что наш grep не понимает стандартные опции и использует полноценные регулярные выражения в шаблоне поиска.

Powered by POEM™ Engine Copyright © 2002-2005