【问题标题】:How to run awk in gnuplot scripts via msysgit bash如何通过 msysgit bash 在 gnuplot 脚本中运行 awk
【发布时间】:2012-10-29 18:18:18
【问题描述】:

我的 gnuplot 脚本使用awk 来预处理一些数据。在 Linux 中一切正常。 但我也喜欢在 Windows 中运行这些脚本。大多数时候,我使用 Git Bash (msysgit) 在 Windows 中进行命令行工作。除了我的 shell 脚本之外,这使我免于维护 Windows 批处理文件。

问题是 Git Bash 没有提供gnuplot 命令,尽管它提供了awk。我手动安装了 Gnuplot (MinGW) 并将它的 bin 目录添加到 %PATH%

现在我可以从 Git Bash 运行 gnuplot。但由于它是一个“Windows 应用程序”,它无法识别 MSYS Git 提供的工具/二进制文件,例如 awk。我想我可以将 Git 的 MSYS bin 目录添加到 %PATH%,但是(正如 Git 安装程序告诉你的那样)这可能会干扰某些 OS 系统功能。我也不想安装另一个 MSYS。 Git 版本对我来说很好。

有没有更好的解决方案让 gnuplot 与我的 MSYS 二进制文件一起运行(尤其是awk)。

【问题讨论】:

  • 这不是一个答案,但您通常可以将简单的 awk 脚本替换为 using 过滤器,这将消除您对外部工具的依赖。
  • 在我的一个图中,我使用awk 添加了任意数量的列,即列对。我的日志文件如下所示:a b c d e f1 g1 f2 g2 f3 g3...。我总结了不同数量的 fg 列。我认为这是不可能通过using 实现的。无论如何,我猜这值得另一个问题;)

标签: windows awk gnuplot msysgit git-bash


【解决方案1】:

我找到了一个非常简单的方法来解决我的问题。一种解决方案是将完整的 Git/bin 添加到我不想这样做的%PATH%(见上文)。但是,如果您只需要一些命令,您可以在您的 bin 文件夹之一(已经在您的 %PATH% 中)设置一个简单的非侵入式“迷你”MSYS,或者您创建一个新的并将其添加到 @987654324 @。

为我的gnuplot 脚本设置awk

  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

像魅力一样工作!

【讨论】:

    猜你喜欢
    • 2010-10-19
    • 1970-01-01
    • 2016-10-01
    • 2011-01-23
    • 1970-01-01
    • 2021-05-02
    • 1970-01-01
    • 2016-11-11
    • 2021-03-20
    相关资源
    最近更新 更多