栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 云计算 > 云平台

Shell结合业务编写“字符串处理”脚本及思路分析

云平台 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Shell结合业务编写“字符串处理”脚本及思路分析

1、结合业务介绍编写字符串处理完整脚本

   需求描述:

           变量string="Bigdata process framework is Hadoop,Hadoop is an open source project"

           执行脚本后,打印输出string字符串变量,并给出用户以下选项:

                (1)、打印string长度

                (2)、删除字符串中所有的Hadoop

                (3)、替换第一个Hadoop为Mapreduce

                (4)、替换全部Hadoop为Mapreduce

        用户输入数字1|2|3|4,可以执行对应项的功能;输入q|Q则退出交互模式 

 思路分析:

    [1]. 划分功能模块,将不同的功能模块抽取出来,并编写函数

                function print_tips         # 打印提示信息

                function string_of_len         # 计算字符串长度

                function del_hadoop_all         # 删除字符串中所有Hadoop

                function hadoop_rep_mapreduce_first         # 替换第一个hadoop

                function hadoop_rep_mapreduce_all         # 替换全部hadoop

   [2]. 实现第一步所定义的功能函数

string="Bigdata process framework is Hadoop,Hadoop is an open source project"
# 打印提示信息函数
function print_tips
{
    echo "************************"
    echo "(1)、打印string长度"
    echo "(2)、删除字符串中所有的Hadoop"
    echo "(3)、替换第一个Hadoop为Mapreduce"
    echo "(4)、替换全部Hadoop为Mapreduce"
    echo "用户输入数字1|2|3|4,可以执行对应项的功能;输入q|Q则退出交互模式"
    echo "************************"
}
# 计算字符串长度
function string_of_len
{
    echo "${#string}"
}
# 删除字符串中所有Hadoop,直接使用删除命令无法满足要求,
# 这里采用替换字符串为空方式变相进行删除
function del_hadoop_all
{
    echo "${string//Hadoop/}"
}
# 替换第一个hadoop
function hadoop_rep_mapreduce_first
{
    echo "${string/Hadoop/Mapreduce}"
}
# 替换全部hadoop
function hadoop_rep_mapreduce_all
{
    echo "${string//Hadoop/Mapreduce}"
}

   [3]. 程序主流程的设计

while true
do
    echo
    echo "string=$string"
    print_tips
    read -p "Please input your choice(1|2|3|4|q|Q): " choice
    case $choice in
       1) string_of_len
           ;;
       2) del_hadoop_all
           ;;
       3) hadoop_rep_mapreduce_first
           ;;
       4) hadoop_rep_mapreduce_all
           ;;
     q|Q) exit
           ;;   
       *) echo "Error, input only in {1|2|3|4|q|Q}"
           ;;   
    esac
    
done

      如果看不懂字符串中替换和删除,可以结合下面博客查看:Shell变量的高级用法之字符串处理(一)_AllardZhao的博客-CSDN博客1、变量替换和测试变量在任何编程语言中都是最基础一个概念,对变量的操作无非就是给变量进行赋值、对变量进行增删改查操作。变量替换最初它的应用场景,就是需要对一个变量根据某一种形式来进行一些操作,比如:修改变量的内容值,初始化得到一份变量之后,在某些场景下需要对这个变量进行一些修改,如删除其中某些数值得到一个新的变量,删除时候可能有时候可以基于这种字符串形式来删除,有时候还可以像基于正则表达式匹配模式的这种形式删除,对于这两种场景实际运用中还是比较多。(1)变量替换和...https://xiaokang.blog.csdn.net/article/details/121846846

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/896063.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号