gpt4 book ai didi

awk - 了解 gnuplot 如何使用 awk 脚本

转载 作者:行者123 更新时间:2023-12-04 15:32:05 24 4
gpt4 key购买 nike

我有一个数据文件data.txt

1 1
2 2
3 3
5 4
7 5
我正在尝试了解 gnuplot 如何使用 awk。我可以用 plot "<awk '{print $1,$2}' data.txt" 绘制它.但是,当我尝试 load '<./script.sh data.txt'这没用。 script.sh
#!/bin/bash
awk 'BEGIN {
printf "plot ";
}
{
printf "%i %i\n",$1,$2
}

' $1
使用 script.sh方法返回错误:

gnuplot> plot 1 1

              ^

"<./script.sh data.txt", line 1: unexpected or unrecognized token


在我看来,我的 awk 脚本在功能上等同于内联 awk 语句。为什么 script.sh 不方法工作?
仅供引用,我知道我可以做 plot "data.txt" u 1:2绘制我的数据。这只是我试图解决的更复杂问题的理想化版本。

最佳答案

这应该与 awk 无关,但都与 gnuplots 对绘图和加载命令的期望有关。

据我了解,阅读 gnuplot 帮助输出并尝试您提供的示例:

plot "<awk '{print $1,$2}' data.txt"

只是一种复杂的方法,通过系统上可用的 popen 调用提供一个类似对象的文件,然后 plot 命令从 x、y 点读取。

你的第二个脚本做了一些不同的事情,因为加载命令现在在第一行接收一个它不能满足的命令(即 plot 后跟一个 x 和一个 y 值)并且即使没有任何前缀命令也会收到后续命令(下一行只是 2 2在这种情况下。

在我对活跃 gnuplot 使用的内存中 - 几年前,如果不是几十年;-) - 加载就像加载良好,您可以从模块中编写绘图代码,但这些必须包含有效的 gnuplot 命令。

我的系统上的负载帮助给出:
gnuplot> help load
The `load` command executes each line of the specified input file as if it
had been typed in interactively. Files created by the `save` command can
later be `load`ed. Any text file containing valid commands can be created
and then executed by the `load` command. Files being `load`ed may themselves
contain `load` or `call` commands. See `comments` for information about
comments in commands. To `load` with arguments, see `call`.

Syntax:
load "<input-file>"

The name of the input file must be enclosed in quotes.

The special filename "-" may be used to `load` commands from standard input.
This allows a `gnuplot` command file to accept some commands from standard
input. Please see help for `batch/interactive` for more details.

On some systems which support a popen function (Unix), the load file can be
read from a pipe by starting the file name with a '<'.

Examples:
load 'work.gnu'
load "func.dat"
load "< loadfile_generator.sh"

The `load` command is performed implicitly on any file names given as
arguments to `gnuplot`. These are loaded in the order specified, and
then `gnuplot` exits.

我总是解决生成匹配文件的问题,并且对 gnuplot 调用有一些调用魔法来参数化绘图。

关于awk - 了解 gnuplot 如何使用 awk 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38266567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com