headermask image

Notice: Undefined variable: t in /var/www/user97185/data/www/system-administrators.info/yandex-ad.php on line 15

Notice: Undefined variable: r in /var/www/user97185/data/www/system-administrators.info/yandex-ad.php on line 15
Рекомендую: Фриланс-биржа | Кэшбэк-сервис | Интернет-бухгалтерия

grep в Windows

Многим любителям шела нравится чудная команда grep.
К сожалению, windows нативно не имеет такой команды, по этому некоторые ставят себе наборы различных консольных утилит в *nix стиле, включая grep.

Мне, как любителю посидеть в консоли Windows очень мешало отсутствие грепа, по этому мои скрипты под Win всегда были не так хороши, как могли бы быть. Но мои скрипты должны работать на любой (ну, или почти на любой) Windows, так как же быть?

К счастью, в Windows XP (и выше) появились две команды, которые призваны исправить положение — это find и более мощный вариант — findstr.

первая простая, и имеет явный недостаток — искомый текст надо заключать в кавычки. Не знаю, как вам — но мне очень не удобно печатать кавычки каждый раз :)

findstr же этого не требует, и к тому же позволяет искать используя мощь регулярных выражений.

Таким образом, теперь надо помнить, что мы не в bash\zsh\etc, а в Win, и набирать findstr вместо grep.

Ну а на своей машине я сделал следующее:

echo findstr %1 %2 %3 %4 %5 > %systemroot%\grep.cmd
теперь можно не задумываясь грепать вывод:

C:\WINDOWS>netstat -an | grep LISTEN

C:\WINDOWS>findstr LISTEN
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:1963 0.0.0.0:0 LISTENING
TCP 10.198.17.58:139 0.0.0.0:0 LISTENING
TCP 127.0.0.1:1025 0.0.0.0:0 LISTENING
TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING
TCP 127.0.0.1:9051 0.0.0.0:0 LISTENING
TCP 192.168.56.1:139 0.0.0.0:0 LISTENING

Ну и на закуску:

ifconfig:

echo IF "%1"=="-a" (ipconfig /all) ELSE (ipconfig %1) > %systemroot%\ifconfig.cmd

man:

echo %1 /?> %systemroot%\man.cmd

ls:

echo IF "%1"=="-a" (dir) ELSE (IF "%1"=="-al" (dir) ELSE (dir %1 %2 %3 %4 %5)) > %systemroot%\ls.cmdЯ часто на автомате даю ключ(и) -a(l) команде ls, по этому добавил их «обработку»

Интересное

Качественное и недорогое создание корпоративных сайтов в Челябинске. Наш сайт не стыдно показать клиентам.

Похожие посты
  • FreeBSD: SNMP для mrtg за 5 минут
  • Миграция с Windows XP в Windows 7 с помощью MDT 2010
  • WSUS станет опциональной ролью для Windows Server 2008 Server Manager
  • 1 октября. Веб-трансляция “Windows Server Core: отличия от полной версии Windows Server 2008. Варианты применения.”
  • Опять squid в Windows
  • Веб-трансляция: Особенности служб сертификации в Windows Server 2008
  • Пошаговые руководства по Windows Server 2008 на русском
  • Веб-трансляция: Внешний доступ к службам RMS (Windows Server 2008)
  • 23 ноября. Веб-трансляция “Обзор Windows Server Virtualization”
  • Как включить Aero в Windows 7
  • 2 комментов оставлено (Add 1 more)

    1. Спасибо, сильно не хватает этой команды в windows

      1. YuSV on June 5th, 2012 at 2:15 pm
    2. Спасибо, очень познавательно

      2. Young on July 27th, 2010 at 1:49 pm