2012-11-09 78 views
1

我的gnuplot腳本使用awk預處理一些數據。在Linux中一切正常。 但我也想在Windows中運行這些腳本。大多數時候我使用Git Bash(msysgit)來執行我在Windows下的命令行工作。除了我的shell腳本之外,這使我無法維護Windows批處理文件。如何在AWK的gnuplot腳本通過msysgit的bash運行

問題是Git Bash沒有提供gnuplot命令,雖然它提供了awk。我手動安裝了Gnuplot(MinGW),並將它的bin目錄添加到%PATH%。現在

我可以運行混帳猛砸gnuplot。但由於它是一個「Windows應用程序」,因此它無法識別MSYS Git提供的工具/二進制文件,例如awk。我想我可以將Git的MSYS bin目錄添加到%PATH%,但是(正如Git安裝程序告訴你的),這可能會干擾某些OS系統功能。我也不想安裝另一個MSYS。 Git版本對我來說很好。

是否有更好的解決方案,使gnuplot的我MSYS的二進制文件(特別是awk)運行。

+0

這不是一個答案,但通常你可以用'使用'過濾器替換簡單的'awk'腳本,這會消除你對外部工具的依賴。 – mgilson

+0

在我的一個圖中,我使用'awk'將任意數量的列,即列對加起來。我的日誌文件如下所示:'a b c d e f1 g1 f2 g2 f3 g3 ...'。我總結了不同數量的'f'和'g'列。我認爲這不可能通過'使用'。無論如何,這是值得我猜想的另一個問題;) – Juve

回答

0

我發現我的問題很簡單的解決方案。一種解決方案是將完整的Git/bin添加到我不想做的%PATH%(參見上文)。但是,如果您只需要幾條命令,則可以在您的bin文件夾之一(已在%PATH%中的文件夾中)設置一個簡單的非侵入式「迷你」MSYS,或者創建一個新文件夾並將其添加到%PATH%

設置awkgnuplot腳本:

  1. 複製gawk.exeGit/bin%HOME%/bin/awk.exe
  2. 複製msys-1.0.dllGit/bin%HOME%/bin
  3. 添加%HOME%/bin%PATH%(如果沒有的話)

要測試它,只需打開命令行並鍵入awk。我現在可以雙擊我的plot.sh腳本,該腳本通過Git的bash自動運行。該腳本調用gnuplot Windows二進制文件,您應該對%PATH%gnuplot最終(內部)調用awk也應該有這個文件。

工程就像一個魅力!