Shell变量的高级用法(三)——字符串处理练习

需求描述:
变量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 len_of_string
function del_hadoop
function rep_hadoop_mapreduce_first
function rep_hadoop_mapreduce_all
2、实现第一步所定义的功能函数
3、程序主流程的设计

完整脚本代码如下:

#!/bin/bash

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 "****************************************"
}

function len_of_string {
    echo "${#string}"
}

function del_hadoop {
    echo "${string//Hadoop/}"
}

function rep_hadoop_mapreduce_first {
    echo "${string/Hadoop/Mapreduce}"
}

function rep_hadoop_mapreduce_all {
    echo "${string//Hadoop/Mapreduce}"
}

function main {
    while true; do
        echo
        echo "【${string}】"
        echo
        print_tips
        read -p "Please input your choice(1|2|3|4|q|Q):" choice
        case $choice in
            1) len_of_string ;;
            2) del_hadoop ;;
            3) rep_hadoop_mapreduce_first ;;
            4) rep_hadoop_mapreduce_all ;;
            q|Q) exit ;;
            *) echo "Error input"
        esac
    done
}

main
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容