一天的最重要。我已经检查了其他相似的错误或相同的错误代码。他们似乎不一样。我需要你的帮助。全部
# Create awk program : myflowcalcall.awk
# a general script for computing throughput
BEGIN {
arguments = 2;
if (ARGC < arguments || ARGC > arguments || flowtype == 0) {
printf("error: wrong number of arguments.\nawk: usage – awk -f flowcalc.awk [-v graphgran=value] [-v fidfrom=value] [-v fidto=value] [-v fid=value] -v flowtype=\"type\" -v outdata_file=\"filename\" indata_file\n–%d",ARGC);
exit;
}
measure_interval = 0.5;
bits = 0;
first_time = graphgran;
}
{
if (($1 == "r") &&
((fidfrom == 0 && fidto ==0) || (($8 == fid) && ($3 == fidfrom) && ($4 == fidto))) &&
(flowtype == "all" || flowtype == $5)) {
if (($2 - first_time) > measure_interval) {
first_time = first_time + measure_interval;
rate = (bits/1000000)/first_time;
print filename first_time, rate;
}
bits = bits + $6 * 8;
}
}
END {
measure_interval = 0.5;
first_time = first_time + measure_interval;
rate = (bits/1000000)/first_time;
print filename first_time, rate;
}
出现错误
awk:myflowcalcall.awk:20:if(($ 2 - first_time)&gt; measure_interval){ awk:myflowcalcall.awk:20:^表达式中的char'invalid'无效
我已经尝试并检查了错误,但无济于事。下面是我在Ubuntu 12.04LTS中从终端运行的命令
awk -f myflowcalcall.awk -v graphgran = 0 -v fidfrom = 2 -v fidto = 3 -v fid = 1 -v flowtype =“cbr”-v outdata_file =“nothing”johna4bp.tr&gt; THR1
运行
xxd myflowcalcall.awk | grep " e2\|e2 "
制作
00000f0: 6177 6b3a 2075 7361 6765 20e2 8093 2061 awk: usage ... a
0000190: 6174 615f 6669 6c65 5c6e e280 9325 6422 ata_file\n...%d"
00002c0: 2828 2432 20e2 8093 2066 6972 7374 5f74 (($2 ... first_t
我可能知道错误点。谢谢所有
答案 0 :(得分:1)
查看您的代码,我确实看到了-
字符的问题。有些比另一些长,这意味着它们没有被正确解释。
答案 1 :(得分:0)
您似乎在某些时候使用了一个支持unicode的编辑器,用一些类似的多字节字符替换了一些简单的字符。
引号和短划线替换的代码以e2开头,尝试
xxd myflowcalcall.awk | grep " e2\|e2 "
找到他们
答案 2 :(得分:0)
我是脚本的新手,但不是first_time = graphgran应该是first_time = graphgran 我的意思是没有空格?