gawk教学内容见此贴:http://bbs.bathome.net/thread-3997-1-1.html
下面问题来源此贴,测试文本内容如下:
shipped.txt
Jan 13 25 15 115
Feb 15 32 24 226
Mar 15 24 34 228
Apr 31 52 63 420
May 16 34 29 208 J
un 31 42 75 492
Jul 24 34 67 436
Aug 15 34 47 316
Sep 13 55 37 277
Oct 29 54 68 525
Nov 20 87 82 577
Dec 17 35 61 401
Jan 21 36 64 620
Feb 26 58 80 652
Mar 24 75 70 495
Apr 21 70 74 514
问题为:求第一栏为Feb时,第二栏与第三栏的和。
示例代码如下:- gawk '$1 == "Feb" {sum=$2+$3} END {print sum}' shipped
复制代码 上面代码而我并不能成功运行,而是返回错误信息。
把代码改为下面形式,则可:- gawk "$1 == \"Feb\" {sum=$2+$3} END {print sum}" shipped.txt
复制代码 问题出来了:
1.教程及其他地方找的资料都说gawk后面句子需在一对单引号之内,而我测试偏偏单引号不行而要改为双引号,不知何因?
2.双引号明明不是gawk里交代的特殊字符,却需要转义才能得到正确结果,更加迷惑!
[ 本帖最后由 zhouyongjun 于 2010-4-8 18:09 编辑 ] |