【问题标题】:Passing a gnuplot variable to sed in gnuplot script在 gnuplot 脚本中将 gnuplot 变量传递给 sed
【发布时间】:2017-04-19 15:08:01
【问题描述】:

我有一个 gnuplot 脚本,它接受 3 个命令行参数 以下是命令示例:

gnuplot> call BudgetRowStacked.gnu " "Fonctionnement" "2017" "545000"

我用参数建立一个文件名

file="Dépenses".ARG1.ARG2.".dat"

目前我在命令中使用硬编码文件名文件,例如

values="`sed -n -e 4p DépensesFonctionnement2017.dat`"
values2="`sed -n -e 2p DépensesFonctionnement2017.dat`"

我想在 sed 命令中使用文件变量而不是硬编码的名称。我该怎么做?

【问题讨论】:

  • 我不明白相似之处。我没有 bash 变量,但有一个 gnuplot 变量。
  • 噢噢我明白了!那是gnuplot的内部。让我收回那票。

标签: sed gnuplot


【解决方案1】:

一种选择是将这样的内容放入BudgetRowStacked.gnu

file="Dépenses".ARG1.ARG2.".dat"

getData(fName, row)=system(sprintf("sed -n -e %dp %s", row, fName))

values = getData(file, 4)
values2 = getData(file, 2)

这里,sprintf 首先将感兴趣的命令构造为字符串,并将其传递给system,后者执行并返回其输出。

【讨论】:

  • 非常感谢。我最终在阅读您的答案之前找到了系统命令。很好!
猜你喜欢
  • 1970-01-01
  • 2014-09-09
  • 1970-01-01
  • 1970-01-01
  • 2015-09-04
  • 1970-01-01
  • 2017-11-30
  • 1970-01-01
  • 2015-10-12
相关资源
最近更新 更多