ChinaUnix.net
相关文章推荐:

awk 数组学习

本帖最后由 yinyuemi 于 2011-06-26 00:29 编辑 在文本处理的工作中,awk数组是必不可少的工具,在这里,同样以总结经验和教训的方式和大家分享下我的一些学习心得,如有错误的地方,请大家指正和补充。 awk数组,一种关联数组(Associative Arrays),下标可以是数字和字符串。因无需对数组名和元素提前声明,也无需指定元素个数 ,所以awk数组使用非常灵活。 首先介绍下几个awk数组相关的知识点: <1>建立数组[code] ...

by yinyuemi - Shell - 2016-05-09 13:52:43 阅读(137614) 回复(105)

相关讨论

本帖最后由 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"]。 若要确定某个索引是否是在数组中存在,可以使...

by wsleichao3 - Shell - 2013-05-11 10:16:42 阅读(1461) 回复(4)

awk 数组总感觉不好理解,谁对那个比较熟悉的可以加我qq 1091262364,想多请教

by mengchang_cu - Shell - 2012-01-25 21:01:59 阅读(1582) 回复(0)

比如 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...

by liaoboda - Shell - 2011-10-29 15:11:12 阅读(1879) 回复(2)

[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的下标 有点不理解

by 267020090 - Shell - 2011-06-29 22:29:08 阅读(2078) 回复(3)

[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...

by 267020090 - Shell - 2011-06-29 09:55:01 阅读(3349) 回复(11)

#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

by whp5257 - Shell - 2008-03-30 23:42:29 阅读(1865) 回复(7)

我有一个文本内容如下, 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数组的方法,但是用不好,哪位大哥指点一下.

by bluesky_rhea - Shell - 2005-05-20 14:24:08 阅读(1379) 回复(3)

最近在看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...

by fangtong2008 - Shell - 2011-07-16 10:57:44 阅读(2009) 回复(1)

1. awk简介 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式是这样的,它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,...

by iceway - Linux文档专区 - 2008-08-22 15:36:34 阅读(587) 回复(0)

目录(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...

by lanndmentt - Linux文档专区 - 2008-03-05 16:16:20 阅读(782) 回复(0)