本帖最后由 wsleichao3 于 2013-05-11 10:28 编辑 今天看了一些awk数组相关的内容,自己翻译的http://www.gnu.org/software/gawk/manual/gawk.html#Arrays的一些内容。英语比较差,可能会有翻译错误的地方,请大家指点下。 SUBSEP 这个是下标分隔符。它默认的值为八进制的"\034"用于分隔多维数组的下标部分。所以,举例一个多维数组表达式foo["A","B"]真实访问的是foo["A\034B"]。 若要确定某个索引是否是在数组中存在,可以使...
比如 B Carbohydrate Metabolism C 00010 Glycolysis / Gluconeogenesis [PATH:ko00010] D K00844 HK; hexokinase [EC:2.7.1.1] D K12407 GCK; glucokinase [EC:2.7.1.2] D K00845 glk; glucokinase [EC:2.7.1.2] D K01810 GPI, pgi; glucose-6-phosphate isomerase [EC:5.3.1.9] D K06859 pgi1; glucose-6-phosphate isomerase, archaeal [EC:5.3.1.9] D K13810 tal-pgi; transal...
[root@jssweb tools]# awk '{a[$2]}END{for(i in a) print i}' employees 233 2345 3134 4423 1111 34234 3455 [root@jssweb tools]# awk '{a[++x]=$2}END{for(i=1;i<=NR;i++) print a}' employees 4423 3134 3455 2345 1111 34234 233 233 233 233 第一个是循环里a数组的下标 第2个才是循环a数组的元素 为什么第一个循环里i是表示数组a的下标 有点不理解
[root@jssweb tools]# awk '{a[$1]}END{for(i in a) print i,a}' employees mary julia billy lily cat tom Billy [root@jssweb tools]# cat employees tom 4423 1234 5/12/09 546611 cat 3134 1111 4/23/45 232424 mary 3455 4444 4/32/234 422444 billy 2345 4444 9/23/13 650000 julia 1111 1000 9/23/13 31...
#cat employees
Tom Jones 4424 5/12/66 543354
Mary Adams 5346 11/4/63 28765
Sally Chang 1654 7/22/54 650000
Billy Black 1683 9/23/44 336500
#awk '{name[x++]=$2};END{for (i=0;i
我有一个文本内容如下, 330#2.5#2.3 334#12.4#12.0 123#1.5#0.0 330#3.6#2.5 304#34.80#30.60 304#55.55#34.45 330#99.00#55.50 我想做的是如果第n行和 第m行的第1列相等的则分别将m,n行的第2和第3列相加,然后连同第1列输出.否则直接输出;不知道用什么方法,且这个文本有30多万行,我想用awk数组的方法,但是用不好,哪位大哥指点一下.
最近在看awk & sed 中有这么一句 awk '/^#/{a=$2*$3;printf "%s %6.2f\n",$0,a;next}{print}' test test 文件内容如下 Charlotte Webb P.0 N61331 97 Y 045 Date:03/14/97 #1 3 7.50 #2 3 7.50 #3 1 7.50 #4 1 7.50 #5 1 7.50 Martin S. Rossi P.0 NONE Date:03/14/97 #1 2 7.50 #2 5 6.75 这是一个项目,想把每个项目的总金额打印出来,每个#号代表一个项目,打印成如下格式 Charlott...
1. awk简介 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,...
目录(Contents) 1. awk简介 2. awk命令格式和选项 2.1. awk的语法有两种形式 2.2. 命令选项 3. 模式和操作 3.1. 模式 3.2. 操作 4. awk的环境变量 5. awk运算符 6. 记录和域 6.1. 记录 6.2. 域 6.3. 域分隔符 7. gawk专用正则表达式元字符 8. POSIX字符集 9. 匹配操作符(~) 10. 比较表达式 11. 范围模板 12. 一个验证passwd文件有效性的例子 13. 几个实例 14. awk编程 14.1. 变量 14.2. BEG...