• shell脚本,awk替换{}里面的内容


    如何将oxo{axbxc}oxo{dxexf}oxo里面的{}里面的x 替换为;

    用awk实现

    [root@localhost 09-30]# echo 'oxo{axbxc}oxo{dxexf}oxo'
    oxo{axbxc}oxo{dxexf}oxo
    [root@localhost 09-30]# echo 'oxo{axbxc}oxo{dxexf}oxo '|awk 'BEGIN{FS="";OFS=""}{for(i=1;i<=NF;i++){if($i=="{"){a=1}if($i=="}"){a=0}if($i=="x"&&a){$i=";"}}}1'
    oxo{a;b;c}oxo{d;e;f}oxo
    [root@localhost 09-30]# echo 'oxo{axbxc}oxo{dxexf}oxo'|awk 'BEGIN{FS=""}{for(i=1;i<=NF;i++){if($i=="{"){a=1}if($i=="}"){a=0}if($i=="x"&&a){$i=";"}printf $i}}END{print xxoo}'
    oxo{a;b;c}oxo{d;e;f}oxo

    FS就相当于-F,设定输入分隔符。

    OFS看名字,就是设定输出分隔符的,Output field sperate。默认以空格输出,我总不能一个字母一个空格吧。所以设定输出分隔符为空。

  • 相关阅读:
    IOS开发--第四阶段--关联
    1.7 Flask
    1.4 linux 路飞项目
    linux 1.3 nginx 负载均衡和配置文件
    1.2 redis
    1.1 xinnian
    12.30 linux 7
    12.29
    12.29 linux3 mysql和redis
    12.28 linux 第四天 安装python 和虚拟环境
  • 原文地址:https://www.cnblogs.com/wangyuebo/p/5925292.html
Copyright © 2020-2023  润新知