shell实现关联数组

*/-->

shell实现关联数组

用 shell 编写数组的输入输出;有一个文件,第一列存主机名,第二列为 IP 地址,如何输入
主机名返回 IP 地址,shell 编写实现;

while read host ip; do
    eval ${host}=${ip}
done
# 这样就可以直接 echo ${主机名} 了。

一个文件只有 1 列数据,如何用 shell 求这 1 列数据的加和;

while read n; do
    sum=$((sum + n));
done
echo $sum

Date: 2015-01-17 10:18:23

Author: sunx

Created: 2015-01-17 Sat 10:20

Emacs 24.4.2 (Org mode 8.2.10)

Validate

时间: 2024-10-05 03:15:18

shell实现关联数组的相关文章

shell 脚本-关联数组

shell 的关联数组 Shell Associative Array   bashi没有原生的对于类似hash table的支持,不像perl或python.下标数组元素是通过数组下标(数组下标可以是算术表达式,其结果必须是一个整数)来访问的,但是这种访问方式在表达某些关联性很强的数据时会存在限制.shell 提供了另外一种数组,其可以使用任意的字符串作为下标(不必是整数)来访问数组元素.这种数组叫做关联数组(associative array).关联数组的下标和值称为键值对,它们是一一对应的

shell关联数组

Shell Associative Array    bashi没有原生的对于类似hash table的支持,不像perl或python.下标数组元素是通过数组下标(数组下标可以是算术表达式,其结果必须是一个整数)来访问的,但是这种访问方式在表达某些关联性很强的数据时会存在限制.shell 提供了另外一种数组,其可以使用任意的字符串作为下标(不必是整数)来访问数组元素.这种数组叫做关联数组(associative array).关联数组的下标和值称为键值对,它们是一一对应的关系.在关联数组中,键

shell 常规数组&关联数组

在日常编写shell的过程中,数组是一个非常常用到的内容.我们这里简要介绍两种数组的使用方式.一种常规数组,一个中关联数组.差异就是常规数组,只能用整数作为下标来进行数据的存取.而关联数组能够使用字符作为小标来进行存储. 常规数组 1)  初始化 数组中的多个变量用括号来括起来,变量间用空格来间隔开来. [email protected]:~/test_shell#./demo1.sh 1 2 3 4 5 1 2 3 4 [email protected]:~/test_shell# mored

shell 之awk 关联数组高级应用

最近由于数据迁移过,有些用户信息需要再次确认下,也许数据量比较大,但是需要最终确认的比如说是用户ID和其对应的用户积分数,这样就会导致出现文本a(老的数据),文本b(新的数据).比如 1101 123 1102 111 1103 145 1104 152 这是文本a.txt 文本b.txt如下 1101 123 1102 112 1103 154 1104 152 列举的文本例子只是为了说明使用方法列举的最简单的文本,实际数据可能要复杂的多,可能会出现b.txt 中出现的ID在a.txt中没有出

shell之数组和关联数组

数组和关联数组 #!/bin/bash #定义数组1 array_var1=(1 2 3 4 5 6)# #定义数组2 array_var[0]="test1" array_var[1]="test2" array_var[2]="test3" array_var[3]="test4" array_var[4]="test5" array_var[5]="test6" #打印指定索引的元

Linux中的shell脚本编程——数组 ,高级字符串操作 ,高级变量 ,配置用户环境

概述: 概述: 本章节将讲述Linux中shell脚本编程的数组,高级字符串处理,高级变量和配置用户的环境. 一.函数和位置参数扩展 1.shift 命令实现在位置参数中的跳跃,会把最左边的参数挤掉     2.匿名函数的使用 第一篇:数组 一.数组的定义: 1.变量:存储单个元素的内存空间 2.数组:存储多个元素的连续的内存空间,相当于多个变量的集合. 3.数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引,bash4.0版本之后开

20.16 20.17shell中的函数(上下);20.18 shell中的数组;20.19 告警系统需求分析

20.16 shell中的函数(上) 函数就是把一段代码整理到了一个小单元中,并给这个小单元起 一个名字,当用到这段代码时直接调用这个小单元的名字即可. 1. [[email protected] ~]# vi fun1.sh 添加内容: #!/bin/bash function inp(){ echo "The first par is $1" echo "The second par is $2" echo "The third par is $3&q

shell字符串与数组总结

博客主页:http://blog.csdn.net/minna_d 1. 计算字符串长度: echo ${#str} 2. 按字符截取字符串: ${word:begin:length} 3.借助% .%%.#.##对字符串的切割: %:从右向左非贪婪匹配 %%:从右向左贪婪匹配 #:从左向右非贪婪匹配 ##:从左向右贪婪匹配 用法示例: ${str%.*} ${str%%.*} ${str#*.} ${str##*.} PS:"."这里仅仅只是一个普通的点,而不是任意字符 [[emai

shell 脚本之数组 和 yum 【下】

数组 变量:存储单个元素的内存空间 数组:存储多个元素的连续的内存空间,相当于多个变量的 集合. 数组名和索引 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式 ,即为关联索引,bash4.0版本之后开始支持. bash的数组支持稀疏格式(索引不连续) 声明数组: declare -a ARRAY_NAME declare -A ARRAY_NAME: 关联数组 数组赋值 数组元素的赋值: (1) 一次只赋值一个元素: ARRAY_NAME[INDEX]=VA