我正在使用AWK预处理文件,以便在Windows 10上的Gnuplot 5.2中进行绘图和拟合。例如:
plot '<awk "{print}" file1.dat file2.dat'
字符串
虽然fit
工作正常,但plot
会产生以下消息:
Bad data on line 1 of file <awk "{print}" file1.dat file2.dat
型
我用print system('awk "{print}" file1.dat file2.dat')
看了一下坏数据,这表明数据前面有两行额外的数据,我甚至可以用最小的print system('awk ""')
来复制,这使得
fstat < 0: fd = 0
fstat < 0: fd = 2
型
当然,如果我只是想从AWK命令中提取一个数字,我可以这样做
sum = real(substr(system('awk "{sum+=$2} END {print sum}" file1.dat'), 37,-1))
型
虽然这是恼人的,它的工作。但我还没有找到任何工作周围的plot
。更我想一个解决方案,避免额外的行从一开始。有没有人有一个想法如何做到这一点?
这里,我还有两个测试用例可以提供信息:
1.如果我在CMD中运行AWK,则不会有额外的行。
1.其他CMD命令也不会在gnuplot中生成线,例如,如果我调用print system('echo test')
1条答案
按热度按时间t8e9dugd1#
当我试图从awk脚本中提取值时,我也遇到了同样的问题。
字符串
通过以下两个步骤来去除这两个烦人的多余行,步骤1:使用管道操作符传递数据文件
型
步骤2:将stdout /stderr组合在一起
型
那么问题就可以解决了。