• 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//,/} 即可。

     

    也就是说··· ···

     

    空格:

    删除:

     

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

  • 相关阅读:
    晋IT分享成长沙龙集锦
    Spring、Hibernate 数据不能插入到数据库问题解决
    fancybox关闭弹出窗体parent.$.fancybox.close();
    关于Javakeywordsynchronized——单例模式的思考
    MySQL Study之--MySQL压力測试工具mysqlslap
    cocos2d-x 3.3 之卡牌设计 NO.4 定时器的使用(清理内存)
    【v2.x OGE教程 16】 Modifier使用相关
    [Python网络编程]浅析守护进程后台任务的设计与实现
    hdu 4778 Gems Fight!
    nginx负载均衡向后台传递參数方法(后端也是nginxserver)
  • 原文地址:https://www.cnblogs.com/chuanzhang053/p/16304841.html
Copyright © 2020-2023  润新知