本文通过一个示例说明了AWK关联数组的应用. 读者可以通过本文获得有关理论和实践的知识. 这个例子很简单. 我希望本文能有所作为.
AWK,AWK关联数组(关联数组)
AWK是出色的文本处理工具. 它不仅是Linux中最强大的数据处理工具之一,而且在许多其他Unix环境中也是如此. AWK
提供极其强大的功能: 样式加载,流程控制,数学运算,过程控制语句以及内置变量和函数. 它几乎具有完整语言的所有功能. 在
awk中的数组称为关联数组(关联数组),因为较低的标记可以是数字或字符串. awk
其中的数组
不需要事先声明awk 数组初始化,也不需要声明大小. 根据上下文,使用0或空字符串初始化数组元素. 例如:
1: 您可以将数值用于数组索引(下标)
Myarray[1]=”xu sihua”
Myarray[2]=”780927”
2: 您可以将字符串用作数组索引(下标)
Myarray[“first”]=”xu”
Myarray[“last”]=”si hua”
Myarray[“birth”]=”780927”
正在使用的打印myarray [1]将获得“ xu sihua”,而将打印的myarray [2]和print [“ birth”]将获得“ 780927”.
提出的问题
我们的生产系统中的应用程序每天都有大量的插入操作. 这些操作记录在日志文件中,我们的目的是从这些日志文件中提取所需的数据. 日志文件的数据格式如下:
--sert into table_a ( field1,field2,field3 ...) values ( 3,1,'xx',...) ;
--sert into table_a ( field4,field1,field2 ...) valuse ( 'yyy',2,675 ,...);
--sert into table_a ( field1,field8,fieldN ...) valuse ( 'zzz','ccc','eee' ,...);
其中field1,field2,fieldN等是表的table_a中的字段,每个语句中的字段数是不确定的,并且顺序也是不确定的awk 数组初始化,但是所有字段都是table_a中的字段,并且值中的值具有字符串还有整数. 我想从上述文件中以以下格式生成数据:
field1_value|field2_value|field3_value|.....|fieldN_value|
field1_value|field2_value|field3_value|.....|fieldN_value|
field1_value|field2_value|field3_value|.....|fieldN_value|
本文是从IBM Developerworks China转移的
请单击此处查看全文
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-163730-1.html
自称青龙行于海
权威
自己一不留神成为首富就不知道话怎么讲了
正确