美文网首页Linux小推车
shell脚本定义并使用字典变量

shell脚本定义并使用字典变量

作者: 鹅鹅鹅_ | 来源:发表于2018-12-14 10:08 被阅读1053次

一、技术知识介绍

  • 前言

    一直以为shell脚本中没有字典变量,今天搜索了一下发现高版本的shell中已经有支持字典变量了。

  • 声明字典类型:

    declare -A dict
    

    这里一定要-A来声明,-a只能用来声明数组类型。

  • 字典赋初值

    dic=([key1]="value1" [key2]="value2" [key3]="value3")
    
  • 字典动态赋值

    dic['key']=value
    
  • 打印指定key的value

    echo ${dic['key']}
    
  • 打印所有key值

    echo ${!dic[*]}
    
  • 打印所有value

    echo ${dic[*]}
    
  • 遍历key值

    for key in $(echo ${!dic[*]})
    do
        echo "$key : ${dic[$key]}"
    done
    

二、应用实例

  • 统计词频 WordCount
    #! /bin/sh
    #输入格式为一行一个单词
    
    #定义字典类型变量
    declare -A dict
    
    #从标准输入读取
    while read word
    do
        #若key为word的变量不存在,则为未定义,即第一次遇到此word,则将此word加入字典并设置其value为1。,否则自增value值
        if [ ! -n dict[${word}] ];then
            dict[${word}]=1
        else
            ((dict[${word}]++))
        fi
    done
    #打印统计结果
    echo -e "word\t\tcount"
    for key in $(echo ${!dict[*]})
    do
        echo -e "$key\t\t${dict[$key]}"
    done
    
    
  • 运行结果
    [hadoop@master workspace]$ cat test.txt 
    123
    123
    123
    1
    1
    1
    2
    123
    1
    2
    [hadoop@master workspace]$ cat test.txt | sh sh.sh 
    word        count
    123     4
    1       4
    2       2
    
    
    可见,统计结果正确。

相关文章

  • shell脚本定义并使用字典变量

    一、技术知识介绍 前言一直以为shell脚本中没有字典变量,今天搜索了一下发现高版本的shell中已经有支持字典变...

  • shell 脚本

    shell 脚本的使用 1、变量 定义的时候 直接用 name=value 使用变量的使用 用${name} 2、...

  • Shell脚本

    一、Shell脚本的规则 1、变量的规则 1.1 定义变量规则: 变量名=值 1.2 shell定义变量的规则: ...

  • shell脚本语言

    Shell脚本语言 1.开始 2.运行 Shell 脚本的两种方法: 3.Shell变量 3.1定义变量 3.2使...

  • shell

    shell变量 变量类型:局部变量局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程...

  • 2016.9.7 AM 课堂笔记 Shell 脚本

    运行shell脚本程序 1>增加1.sh的执行权限2> sh 1.sh定义变量: value使用变量 需在前+ ...

  • 利用shell脚本设置hive查询语句中的变量

    在shell脚本中设置的变量,可以通过hive -e直接使用,例如: 方法总结为: 在shell脚本中添加变量 使...

  • Shell常见基础问题

    1 如何执行一个未设置x权限的Shell脚本? 2 自定义Shell变量时,变量名有什么规则? 3 简述预定义变量...

  • 微信开发-技术文档(2)10.16-10.23

    使用shell脚本快速启动mongodb 在根目录下新建脚本并命名. eg. 使用vi编辑器在脚本中添加自定义的s...

  • bash shell 变量(1)

    Shell 脚本学习 1. 变量 1)定义变量 赋值=两边不能有空格,不管带不带引号都是字符串 2)使用变量 {}...

网友评论

    本文标题:shell脚本定义并使用字典变量

    本文链接:https://www.haomeiwen.com/subject/mmywhqtx.html