Как запустить awk в скриптах gnuplot через msysgit bash

Мои сценарии gnuplot используют awk для предварительной обработки некоторых данных. В линуксе все работает нормально. Но мне также нравится запускать эти сценарии в Windows. Большую часть времени я использую Git Bash (msysgit) для работы с командной строкой в ​​Windows. Это избавляет меня от поддержки пакетных файлов Windows в дополнение к моим сценариям оболочки.

Проблема в том, что Git Bash не предоставляет команду gnuplot, хотя предоставляет awk. Я вручную установил Gnuplot (MinGW) и добавил его каталог bin в файл %PATH%.

Теперь я могу запустить gnuplot из Git Bash. Но поскольку это «приложение для Windows», оно не распознает инструменты/двоичные файлы, предоставляемые MSYS Git, такие как awk. Я думаю, что мог бы добавить каталог Git MSYS bin в каталог %PATH%, но (как говорит вам установщик Git) это может помешать некоторым системным функциям ОС. Я также не хочу устанавливать другой MSYS. Версия Git мне подходит.

Есть ли лучшее решение для запуска gnuplot с моими двоичными файлами MSYS (особенно awk).


person Juve    schedule 09.11.2012    source источник
comment
Это не ответ, но часто вы можете заменить простые awk скрипты using фильтрами, которые устранят вашу зависимость от внешнего инструмента.   -  person mgilson    schedule 09.11.2012
comment
На одном из своих графиков я складываю произвольное количество столбцов, то есть пар столбцов, используя awk. Мой файл журнала выглядит так: a b c d e f1 g1 f2 g2 f3 g3.... Я суммирую разное количество столбцов f и g. Я думаю, что это невозможно через using. Во всяком случае, это стоит другого вопроса, я думаю;)   -  person Juve    schedule 09.11.2012


Ответы (1)


Я нашел довольно простое решение моей проблемы. Одним из решений было бы добавление полного Git/bin в %PATH%, чего я не хотел делать (см. выше). Но если вам просто нужно несколько команд, вы можете настроить простой ненавязчивый «мини» MSYS в одной из ваших папок bin (те, которые уже находятся в вашей %PATH%), или вы можете создать новую и добавить ее в %PATH%.

Настройка awk для моих gnuplot сценариев:

  1. Скопируйте gawk.exe из Git/bin в %HOME%/bin/awk.exe
  2. Скопируйте msys-1.0.dll из Git/bin в %HOME%/bin
  3. Добавьте %HOME%/bin к %PATH% (если еще не сделали этого)

Чтобы проверить это, просто откройте командную строку и введите awk. Теперь я могу дважды щелкнуть мой скрипт plot.sh, который автоматически запускается через Git bash. Сценарий вызывает двоичный файл gnuplot Windows, который также должен быть у вас на %PATH%, а gnuplot наконец (внутренне) вызывает awk.

Работает как шарм!

person Juve    schedule 26.11.2012