博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
awk 数组
阅读量:4049 次
发布时间:2019-05-25

本文共 1369 字,大约阅读时间需要 4 分钟。

– Start

awk 不区分索引数组和关联数组,也就是说,下标可以是数字或任何字符串。

#! /usr/bin/awk -fBEGIN {    # 定义索引数组    names[0]="Shang Bo";    names[2]="Li Si";    names[1]="Zhang San";    # 定义关联数组    country_code_name_map["CN"]="CHINA";    country_code_name_map["US"]="UNITED STATES";    country_code_name_map["JP"]="JAPAN";    # 通过 split 定义数组    str1="a,b,c,d";    split(str1, alphabet, ",");    # 对数组排序    asort(names);    for (key in names) { # 迭代数组        printf("names[%s]=%s\n", key, names[key]);    }    # 抽出并排序关联数组下标    asorti(country_code_name_map, country_codes);    for (key in country_codes) {        printf("country_codes[%s]=%s\n", key, country_codes[key]);    }    # 删除数组元素    delete names[0];    if (0 in names) { #判断下标是否存在        print "index 0 exists";    }    # 删除数组    delete alphabet;    for (key in alphabet) {        printf("alphabet[%s]=%s\n", key, alphabet[key]);    }    # 定义多维数组    for (i = 1; i <= 9; i++) {        for (j = 1; j <= 9; j++) {            table[i, j] = i * j;        }    }    # 迭代多维数组    for (key in table) {        printf("table[%s]=%s\n", key, table[key]);    }    # 迭代多维数组    for (key in table) {        split(key, indexs, SUBSEP); # SUBSEP 是一个内置变量,多维数组下标分隔符        printf("table[%s, %s]=%s\n", indexs[1], indexs[2], table[indexs[1], indexs[2]]);    }};{};END {};

– 更多参见:

– 声 明:转载请注明出处
– Last Updated on 2015-10-28
– Written by ShangBo on 2015-10-27
– End

你可能感兴趣的文章
WAV文件解析
查看>>
WPF中PATH使用AI导出SVG的方法
查看>>
WPF UI&控件免费开源库
查看>>
QT打开项目提示no valid settings file could be found
查看>>
Win10+VS+ESP32环境搭建
查看>>
android 代码实现圆角
查看>>
flutter-解析json
查看>>
android中shader的使用
查看>>
java LinkedList与ArrayList迭代器遍历和for遍历对比
查看>>
drat中构造方法
查看>>
JavaScript的一些基础-数据类型
查看>>
JavaScript基础知识(2)
查看>>
转载一个webview开车指南以及实际项目中的使用
查看>>
android中对于非属性动画的整理
查看>>
一个简单的TabLayout的使用
查看>>
ReactNative使用Redux例子
查看>>
Promise的基本使用
查看>>
coursesa课程 Python 3 programming 统计文件有多少单词
查看>>
coursesa课程 Python 3 programming 输出每一行句子的第三个单词
查看>>
Returning a value from a function
查看>>