2009-09-29 2 views
0

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

Представьте, что у вас есть исходный/конфигурационный файл, сохраняющий позиции, а затем изменивший код, требующий смещения. Как вы обычно обходитесь без этого вручную?

Редактировать: Я знал, что должен был добавить этот бит в сообщение orignal. Я бы предпочел что-то маленькое и легко приобретаемое из любого места. Я знаю о Cygwin и замечательных наборах linux, поэтому я явно помещаю Windows в заголовок.

ответ

1

Получить себе копию Cygwin и потренируйтесь на bash, awk, sed, grep и братьев.

Windows cmd язык прошел долгий путь с мертвых дней MSDOS 3.3, но это еще не бородавка на заднем конце инструментов UNIX. Cygwin предоставляет вам все эти инструменты и многое другое.

способ сделать вашу конкретную задачу (если я правильно понимаю) является изменение:

a b 70   into   offset 60 
c d 82      a b 10 
e f 90      c d 22 
          e f 30 

Следующая команда показывает, как использовать awk для того чтобы достигнуть этого:

$ echo 'a b 70 
     c d 82 
     e f 90' | awk ' 
    BEGIN { 
     print "offset 60" 
    } 
    { 
     print $1, $2, $3-60 
    }' 

с форматированием для удобочитаемости - я хотел бы сделать все это на одной линии и получить мои данные из файла, а не эхом, но это только для демонстрационных целей.

Если вы хотите что-то немного более легкое (с точки зрения того, что вам нужно установить - оно все еще очень сильное), GnuWin32 может предоставить вам отдельные пакеты. Просто установите gawk или что вам нужно.

+0

Ничего, кроме cygwin? Я редактировал свой пост. – syaz

+0

Cygwin работает под Windows, поэтому я не уверен, что понимаю вашу озабоченность. Но вы также можете найти утилиты, скомпилированные для родных Windows. Обновленный ответ с GnuWin32. – paxdiablo

+0

Спасибо, GnuWin32 выглядит так, как мне нужно. Cygwin - это, безусловно, путь для личного рабочего пространства, но если нет, я бы предпочел что-то легкое и легкое в установке/удалении. – syaz