• shell删除变量中的字符(字符串替换)


    我们这里有一个变量

    IPList="172.20.59.238:34994,172.20.59.21:34994,172.20.59.28:34994"

    如果我们要将其中的逗号“,”替换为空格,该如何来操作··· ···

     

    我们这里通过变量直接修改的方式,不引入其他的命令

     

    实现方法如下:

     

    语法:

    ${变量//旧字符/新字符}

     

    显然,这里是要将逗号替换为空格,我们做如下的测试:

    IPList="172.20.59.238:34994,172.20.59.21:34994,172.20.59.28:34994"
    IPNew1=${IPList//,/ }
    
    echo $IPNew1

     

    看下实验的结果:

    [root@nctest-snap-test-02 practises]# IPList="172.20.59.238:34994,172.20.59.21:34994,172.20.59.28:34994"
    [root@nctest-snap-test-02 practises]# IPNew1=${IPList//,/ }
    [root@nctest-snap-test-02 practises]# 
    [root@nctest-snap-test-02 practises]# echo $IPNew1
    172.20.59.238:34994 172.20.59.21:34994 172.20.59.28:34994
    [root@nctest-snap-test-02 practises]# 

    通过上面的输出,我们看到,已经成功的将其中的逗号,替换为空格

     

    那回归到要删除的这个需求怎么做呢?很简单··· ···

     

    看下面的例子:

    IPList="172.20.59.238:34994,172.20.59.21:34994,172.20.59.28:34994"
    IPNew1=${IPList//,/}
    
    echo $IPNew1
    执行的结果:
    [root@nctest-snap-test-02 practises]# IPList="172.20.59.238:34994,172.20.59.21:34994,172.20.59.28:34994"
    [root@nctest-snap-test-02 practises]# IPNew1=${IPList//,/}
    [root@nctest-snap-test-02 practises]# 
    [root@nctest-snap-test-02 practises]# echo $IPNew1
    172.20.59.238:34994172.20.59.21:34994172.20.59.28:34994
    [root@nctest-snap-test-02 practises]# 

    就是将${IPList//,/ }中空格给删除掉,变为${IPList//,/} 即可。

     

    也就是说··· ···

     

    空格:

    删除:

     

    注意观察最后面的}与前面的/之间是否有空格。

  • 相关阅读:
    “耐撕”团队 2016.03.25 站立会议
    [Java面试二]Java基础知识精华部分.
    [Java面试一]面试复习大纲.
    [Java面试四]Strust2总结及在面试中的一些问题.
    [Java面试五]Spring总结以及在面试中的一些问题.
    [Java面试六]SpringMVC总结以及在面试中的一些问题.
    [Java面试七]Mybatis总结以及在面试中的一些问题.
    Hibernate总结以及在面试中的一些问题.
    脚本语言知识总结.
    浏览器跨域问题.
  • 原文地址:https://www.cnblogs.com/chuanzhang053/p/16304841.html
Copyright © 2020-2023  润新知