1、折腾了一上午,各种拼写错误,不知道自己怎么敲的。。。
首先遇到的是
chmod a+x 5S.pl后,
./5S.pl提示:
cannot execute binary file
重新敲了一遍还是这个情况,而随书源代码可以运行,发现自己少最上面的
#!/usr/bin/perl
刚开始还以为这也是个注释语句。。。怪不得我敲的时候没有像源代码那样有语法高亮
接着提示:
擦,被除数为0。。。重新检查下,手贱在BEGIN后多加个{}...
还有个问题,在建立节点的时候,我本想用for循环,可是总是提示找不到s2,d2节点,最终改为书上给的代码,没问题了。可见s1,d1创建了,s2,d2s 的创建应该在下个循环(我是这样认为的)。。。
2、
在awk编程中,
BEGIN模式后面跟一个操作模块,如:BEGIN{...},在awk处理输入文件里的任意行之前执行该模块,其实不用任何输入文件就能测试一个BEGIN操作模块,因为直到BEGIN操作模块完成之后,awk才开始读取输入.BEGIN操作通常用来改变OFS,FS,RS等awk内制变量的值.
如:
awk 'BEGIN{FS=":";OFS="\t";ORS="\n"}{print $0}' filename
在处理输入文件之前,把域分隔符FS设定成冒号,输出域分隔符OFS设定成TAB键,并把输出记录分隔符ORS设定成一个换行符。
如果读取的文件每行只有一个元素,则用$0读取该值。
3、 gnuplot相关
errorbars的用法:
plot *** using 1:2:3 with errorbars 1
对于每一点坐标值(x,y),画一条由(x,ylow)至(x,yhigh)的线段。1:2:3表示第一个元素作为横坐标,第二个元素作为纵坐标,第三个元素作为yhigh-ylow的值。最后的1表示线条颜色,1红色,2绿色,3蓝色。
linespoints的用法:
plot *** with linespoints 1
如果每行数据有三个元素,则只读取前两位,作为横坐标和纵坐标。
部分参考:
http://linlansworknote.blogbus.com/logs/62762381.html