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则退出交互模式

变量处理语法说明

image.png

完整代码

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

while true
do
    echo "【 string=$string 】"
    echo
    print_tips
    read -p "Please input 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 only in {1|2|3|4|q|Q}";;
    esac
    
done

运行效果

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

推荐阅读更多精彩内容

友情链接更多精彩内容