awk 小记
一些基本的用法,记一下。
1. awk '{if($4~/[bB]rown/)print}' grade.txt 第四个域匹配brown时,打印,“~”表示匹配,与“= ”略有不同。以此类推,“!~”表示不匹配。
2. awk 'END {print NR}' grade.txt 快速查看记录个数,NR表示记录编号,如果挑选某一行,可以给NR赋值。NF变量显示每个记录域的个数。FILENAME是内置变量,代表文件名。$NF 最后一个域的值。
3. awk 'BEGIN {m = 13} {if($6 > m) print $0}' grade.txt BEGIN 在执行开始时给m(自定义) 赋值 ,后面比较,打印。
4. awk '{tot += $6};END{print "answer is:" tot}' grade.txt,打印第六域的和。
5. 内置函数length()返回字符串长度。
6. awk 'BEGIN {print split("123#456#789",sp,"#")}' ,split分割数组,下标从1开始。
个别地方有待考证,勿轻信。