• <li id="oiayd"><ruby id="oiayd"></ruby></li>

    <acronym id="oiayd"><strong id="oiayd"></strong></acronym>

    <acronym id="oiayd"></acronym>
    <track id="oiayd"><ruby id="oiayd"></ruby></track>
  • <track id="oiayd"><ruby id="oiayd"><menu id="oiayd"></menu></ruby></track>

  • 400-650-7353
    您所在的位置:首页 > IT干货资料 > linux > 【Linux基础知识】shell字符串常见操作

    【Linux基础知识】shell字符串常见操作

    • 来源:优就业
    • 2021-09-28 10:42:00
    • 阅读()
    • 分享
    • 手机端入口

    字符串内容截取

    左侧截取:

    ${变量名:起始位置:长度}

    l截取字符串1234567890,第5位到第8位

    [root@host01 ~]# x="1234567890"

    [root@host01 ~]# echo ${x:4:4}

    5678

    l截取字符串1234567890,第3位到最后一位

    [root@host01 ~]# x="1234567890"

    [root@host01 ~]# echo ${x:2}

    34567890

    [root@host01 ~]# x="1234567890"

    [root@host01 ~]# echo ${#x}

    10

    [root@host01 ~]# echo ${x:2:${#x}}

    34567890

    截取字符串1234567890的前5位

    [root@host01 ~]# x="1234567890"

    [root@host01 ~]# echo ${x:0:5}

    12345

    [root@host01 ~]# echo ${x::5}

    12345

    l截取字符串“中华人民共和国”的第3位到第4位

    [root@host01 ~]# x="中华人民共和国"

    [root@host01 ~]# echo ${x:2:2}

    人民

    右侧截取:

    ${变量名:0-起始位置:长度}

     右侧截取字符串“中华人民共和国”的右侧第3位到最后一位

    [root@host01 ~]# x="中华人民共和国"

    [root@host01 ~]# echo ${x:0-3}

    共和国

    右侧截取字符串“中华人民共和国”,从右侧第3位开始截取2位

    [root@host01 ~]# x="中华人民共和国"

    [root@host01 ~]# echo ${x:0-3:2}

    共和

    从字符串1234567890的右边第5位开始截取3位

    [root@host01 ~]# x="1234567890"

    [root@host01 ~]# echo ${x:5:3}

    678

    字符串内容替换

    1. 只替换第一个匹配结果:${变量名/old/new}

    从字符串1234512345中将第一个3替换成xxx

    [root@backup ~]# i="1234512345"

    [root@backup ~]# echo ${i/3/xxx}

    12xxx4512345

    2. 替换全部匹配结果:${变量名//old/new}

    从字符串1234512345中将所有的3替换成xxx

    [root@backup ~]# i="1234512345"

    [root@backup ~]# echo ${i//3/xxx}

    12xxx4512xxx45

    从字符串1234512345中将所有的3替换成空字符串

    [root@backup ~]# i="1234512345"

    [root@backup ~]# echo ${i//3/}

    12451245

    字符串内容删除

    1. 从左向右,最短匹配删除:${变量名#*关键词}

    从字符串http://www.sina.com.cn中将冒号“:”左边的字符串去除

    [root@backup ~]# i="http://www.sina.com.cn"

    [root@backup ~]# echo ${i#*:}

    //www.sina.com.cn

    从字符串http://www.sina.com.cn中将第一个“.”左边的字符串去除

    [root@backup ~]# i="http://www.sina.com.cn"

    [root@backup ~]# echo ${i#*.}

    sina.com.cn

    2. 从左向右,最长匹配删除:${变量名##*关键词}

    从字符串http://www.sina.com.cn中将“http://”左边的字符串去除

    [root@backup ~]# i="http://www.sina.com.cn"

    [root@backup ~]# echo ${i##*\/}

    www.sina.com.cn

    从字符串http://www.sina.com.cn中将最后一个“.”左边的字符串去除

    [root@backup ~]# i="http://www.sina.com.cn"

    [root@backup ~]# echo ${i##*.}

    cn

    从字符串http://www.sina.com.cn中将最后一个“w”左边的字符串去除

    [root@backup ~]# i="http://www.sina.com.cn"

    [root@backup ~]# echo ${i##*w}

    .sina.com.cn

    3. 从右向左,最短匹配删除:${变量名%关键词*}

    从字符串http://www.sina.com.cn中将从右边算起第一个“.”左边的字符串去除

    [root@backup ~]# i="http://www.sina.com.cn"

    [root@backup ~]# echo ${i%.*}

    http://www.sina.com

    计算当前磁盘“/”根分区的磁盘使用率

    [root@backup ~]# df

    Filesystem 1K-blocks Used Available Use% Mounted on

    devtmpfs 487168 0 487168 0% /dev

    tmpfs 497828 0 497828 0% /dev/shm

    tmpfs 497828 7636 490192 2% /run

    tmpfs 497828 0 497828 0% /sys/fs/cgroup

    /dev/sda3 11523072 1674024 9849048 15% /

    /dev/sda1 520868 156640 364228 31% /boot

    tmpfs 99568 0 99568 0% /run/user/0

    将上面红字标识的15%提取出来赋值给变量i

    [root@backup ~]# df|grep "/$"

    /dev/sda3 11523072 1674100 9848972 15% /

    [root@backup ~]# df|grep "/$"|awk '{print $5}'

    15%

    [root@backup ~]# i=$(df|grep "/$"|awk '{print $5}')

    [root@backup ~]# echo $i

    15%

    将字符串“15%”中的“%”去掉

    [root@backup ~]# echo ${i%\%*}

    15

    4. 从右向左,最长匹配删除:${变量名%%关键词}

    从字符串http://www.sina.com.cn中将从右边算起最后一个“.”左边的字符串去除

    [root@backup ~]# i="http://www.sina.com.cn"

    [root@backup ~]# echo ${i%%.*}

    http://www

    字符串变量初始值处理

    可以使用echo ${变量名:-其它值}的方式输出变量的值,如果变量存在就输出,如果不存在就输出设定的“其它值”。

    如果变量x存在,打印变量x的值;如果变量x不存在打印其它设定的值

    [root@host01 ~]# x="1234567890"

    [root@host01 ~]# echo ${x:-abc}

    1234567890

    [root@host01 ~]# unset x

    [root@host01 ~]# echo ${x:-abc}

    abc

    文章“【Linux基础知识】shell字符串常见操作”已帮助

    更多内容

    >>本文地址:http://www.seyoho.com/zhuanye/2021/70185.html

    THE END  

    声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

    1 您的年龄

    2 您的学历

    3 您更想做哪个方向的工作?

    获取测试结果
    • 大前端大前端
    • 大数据大数据
    • 互联网营销互联网营销
    • JavaJava
    • Linux云计算Linux
    • Python+人工智能Python
    • 嵌入式物联网嵌入式
    • 全域电商运营全域电商运营
    • 软件测试软件测试
    • 室内设计室内设计
    • 平面设计平面设计
    • 电商设计电商设计
    • 网页设计网页设计
    • 全链路UI/UE设计UI设计
    • VR/AR游戏开发VR/AR
    • 网络安全网络安全
    • 新媒体与短视频运营新媒体
    • 直播带货直播带货
    • 智能机器人软件开发智能机器人
     

    快速通道fast track

    近期开班时间TIME

    日韩一级a片无卡顿

  • <li id="oiayd"><ruby id="oiayd"></ruby></li>

    <acronym id="oiayd"><strong id="oiayd"></strong></acronym>

    <acronym id="oiayd"></acronym>
    <track id="oiayd"><ruby id="oiayd"></ruby></track>
  • <track id="oiayd"><ruby id="oiayd"><menu id="oiayd"></menu></ruby></track>