• Shell 脚本学习笔记三:Shell字符串


    your_name="Li Lei"         // 双引号字符串

    str='this is a string'       // 单引号字符串

    拼接字符串

        your_name="qinjx"

        greeting="hello, "$your_name" !"

        greeting_1="hello, ${your_name} !"

        echo $greeting $greeting_1

    获取字符串长度

        string="abcd"

        echo ${#string}

    提取子字符串

        string="runoob is a great site"

        echo ${string:1:4}              // 截取下标为 1,长度为 4 的字符串

    几种截取字符串的方法:

        var="http://www.baidu.com/123.html"

        1、# 截取,删除左边的字符,保留右边的字符

            // 删除 // 和 //左边的字符串(注:从左往右删除到第一个 //),即删除 http://

            echo ${var#*//}

            

        2、## 截取,删除左边的字符,保留右边的字符

            

            // 删除 / 和 /左边的字符串(注:从左往右删除到最后一个 /),即删除 http://www.baidu.com/

            echo ${var##*/}

                

        3、% 截取,删除右边的字符,保留左边的字符

            

            // 删除 / 和 /右边的字符串(注:从右往左删除到第一个(最右边) /),取删除 /123.html

            echo ${var%/*}

                        

        4、%% 截取,删除右边的字符,保留左边的字符

                    

            // 删除 / 和 /右边的字符串(注:从右往左删除到最后一个(最左边) /),取删除 //www.baidu.com/123.html

            echo ${var%%/*}

                        

        5、: : 下标 长度截取

            

            // 删除下标为 1,长度为 3 的字符串

            echo {var:1:3}

                        

            // 从右往左数(最后一位为第0个字符),从第7个字符(不包括第7个)从左往右开始删除长度为3的字符串

            echo {var:0-7:3}

                        

        6、: 下标截取

            

            // 从 下标为 7 的位置开始删除,一直到结束

            echo {var:7}

                        

            // 从右往左数(最后一位为第0个字符),从左往右删除第7个字符(不包括第7个)后面的字符串

            echo {var:0-7}

    查找子字符串

        string="runoob is a great company"

        echo `expr index "$string" is`  // 找到 is 的位置

  • 相关阅读:
    【2012百度之星资格赛】G:聊天就是Repeat
    使用testNG进行并发性能测试
    关于处理高并发,防止库存超卖的问题
    关于java内存溢出的异常处理
    关于微服务架构
    关于MySQL绿色版的安装
    G点营销看来也不是@z营销的专利啊
    matlab+中文字体设计,有搞头没有? 有搞头
    字王字型系列命名草案
    国外字体设计师也是蛮重视数学的
  • 原文地址:https://www.cnblogs.com/fanxiaocong/p/7068497.html
Copyright © 2020-2023  润新知