shell字符串处理实例

  • A+
所属分类:运维基础

一、需求描述

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

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

(1)打印srting长度
(2)删除字符串中所有的Hadoop
(3)替换第一个Hadoop为Mapreduc
(4)替换全部Haddop为Mapreduce

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

二、思路分析

将不同的功能模块划分,并编写函数
function len_of_string
function del_hadoop
function rep_hadoop_mapreduce_first
function rep_hadoop_mapreduce_all

三、程序代码

  1. #!/bin/bash  
  2.   
  3. string="Bigdata process framework is Hadoop,Hadoop is an open source project"  
  4.   
  5. function print_tips  
  6. {  
  7.     echo "**********************************"  
  8.     echo "(1)打印srting长度"  
  9.     echo "(2)删除字符串中所有的Hadoop"  
  10.     echo "(3)替换第一个Hadoop为Mapreduc"  
  11.     echo "(4)替换全部Haddop为Mapreduce"  
  12.     echo "**********************************"  
  13. }  
  14. function len_of_string  
  15. {  
  16.     echo "${#string}"  
  17. }  
  18.   
  19. function del_hadoop  
  20. {  
  21.     echo "${string//Hadoop/}"  
  22. }  
  23. function rep_hadoop_mapreduce_first  
  24. {  
  25.     echo "${string/Hadoop/Mapreduce}"  
  26. }  
  27. function rep_hadoop_mapreduce_all  
  28. {  
  29.     echo "${string//Hadoop/Mapreduce}"  
  30. }  
  31.   
  32. while true  
  33. do  
  34.     echo "【string=$string】"  
  35.     echo  
  36.     print_tips  
  37.     read -p 'Pls input your choice(1|2|3|4|q|Q):' choice  
  38.       
  39.     case $choice in  
  40.         1)  
  41.             len_of_string  
  42.             ;;  
  43.         2)  
  44.             del_hadoop  
  45.             ;;  
  46.         3)  
  47.             rep_hadoop_mapreduce_first  
  48.             ;;  
  49.         4)  
  50.             rep_hadoop_mapreduce_all  
  51.             ;;  
  52.         q|Q)  
  53.             exit  
  54.             ;;  
  55.         *)  
  56.             echo "Error,input only in {1|2|3|4|q|Q}"  
  57.             ;;  
  58.     esac  
  59. done  
moonrong
  • 版权声明:本站原创文章,于2020年3月25日09:40:23,由 发表,共 1521 字。
  • 版权声明: 本文由于2020年3月25日09:40:23 发表在 好派笔记,共 1521 字。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: