此命令可以正常工作,将结果写入文件“ oneMonthDataOnlyfile.txt”
system("/usr/bin/sed -e '1,3d' " . "oneMonthData.txt" ." > oneMonthDataOnly.txt" );
我可以重定向到此处文档吗,例如:
system("/usr/bin/sed -e '1,3d' " . "oneMonthData.txt" . "> $myData);
当我尝试使用上述格式时,会出现“期望括号”
或与system("/usr/bin/sed -e '1,3d' " . "oneMonthData.txt" ." > $myData " );
一起使用
sh:$ myData:模糊重定向
模糊的重定向
或:system("/usr/bin/sed -e '1,3d' " . "oneMonthData.txt" > $myData);
抛出:“预期的列号或数据块行
我格式错误吗?或者无法以这种方式填充此处文档?
答案 0 :(得分:2)
尝试一下:
set print $myData
print system("whatever command you like")
unset print
答案 1 :(得分:1)
一种可能的解决方法是使用表格:
set table $myData
plot "< /usr/bin/sed -e '1,3d' " . "oneMonthData.txt" u 1:2
unset table
尽管请注意,这并不完全保存输出,而是仅保存其中的某些列。在gnuplot文档(即help table
)中,它表示:
启用
table
模式时,plot
和splot
命令将打印出 多列文本值列表X Y {Z}
<flag>
而不是在当前终端上创建实际图。
因此,shell输出实际上将遵循该格式。
编辑
您可以遵循Ethan的评论,并使用with table
样式来绘制更多的列且不带标志。