要求如下:

  原文
<server name="92服" port="10092" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地区服"/>
<server name="93服" port="10093" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地区服"/>
<server name="94服" port="10094" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地区服"/>
<server name="95服" port="10095" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地区服"/>
<server name="96服" port="10096" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地区服"/> 变为
<server name="92服" port="10092" os="android" hidden="false" recommendrate="0" newport="" zoneid="10092" tabname="地区服"/>
<server name="93服" port="10093" os="android" hidden="false" recommendrate="0" newport="" zoneid="10092" tabname="地区服"/>
<server name="94服" port="10094" os="android" hidden="false" recommendrate="0" newport="" zoneid="10092" tabname="地区服"/>
<server name="95服" port="10095" os="android" hidden="false" recommendrate="0" newport="" zoneid="10092" tabname="地区服"/>
<server name="96服" port="10096" os="android" hidden="false" recommendrate="0" newport="" zoneid="10092" tabname="地区服"/> 需求就是将zoneid根据port填上

利用sed后向引用即可,方法如下:

[root]$ cat setZone.txt  | sed -e 's/\(port="\)\([0-9]+\)\(.*\)\(zoneid="\)/\1\2\3\4\2/g'
<server name="92服" port="10092" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地区服"/>
<server name="93服" port="10093" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地区服"/>
<server name="94服" port="10094" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地区服"/>
<server name="95服" port="10095" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地区服"/>
<server name="96服" port="10096" os="android" hidden="false" recommendrate="0" newport="" zoneid="" tabname="地区服"/>

【shell】sed后向引用替换文本的更多相关文章

  1. [svc]find+xargs/sed&sed后向引用+awk多匹配符+过滤行绝招总结&&产生随机数

    30天内的文件打包 find ./test_log -type f -mtime -30|xargs tar -cvf test_log.tar.gz find,文件+超过7天+超过1M的+按日期为文 ...

  2. [Shell]sed命令在MAC和Linux下的不同使用方式

    ---------------------------------------------------------------------------------------------------- ...

  3. Python3学习之路~2.8 文件操作实现简单的shell sed替换功能

    程序:实现简单的shell sed替换功能 #实现简单的shell sed替换功能,保存为file_sed.py #打开命令行输入python file_sed.py 我 Alex,回车后会把文件中的 ...

  4. 3-1 实现简单的shell sed替换功能

    1.需求 程序1: 实现简单的shell sed替换功能 file1 的内容copy到file2 输入参数./sed.py  $1  $2 $1替换成$2 (把a替换成% ) 2.个人思路 open ...

  5. 4.实现简单的shell sed替换功能

    # -*- coding:utf-8 -*- # Author: JACK ZHAO # 程序1: 实现简单的shell sed替换功能 import sys #判断参数个数 if len(sys.a ...

  6. python 3.x 写 shell sed 替换功能

    shell sed 替换功能 f1 = open('yesterday','r',encoding='utf-8') f2 = open('yesterday2','w',encoding='utf- ...

  7. Sed替换文本中的指定内容

    可以这样做:方法1:sed -i 's/被替换的内容/要替换成的内容/' file 方法2:sed 's/被替换的内容/要替换成的内容/g' file > file.outmv file.out ...

  8. Linux sed命令实现替换文本内容

    /root/data/code-s3201/publish_codex/deploy/db.properties db.properties中的 1.0.0.6 替换为 1.0.0.7 sed -i ...

  9. Shell第二篇:正则表达式和文本处理工具

    一 什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 生活中处处都是正则:     比如我们描述:4条腿   ...

随机推荐

  1. 安装opencv3.3.0碰到的问题及解决方法

    出处:http://osask.cn/front/ask/view/258965 CMakeError.log Compilation failed: source file: '/home/jhro ...

  2. SSM项目——乐淘商城话述1.0

    乐淘商城 项目介绍 淘淘网上商城是一个综合性的B2C平台,类似京东商城.天猫商城.会员可以在商城浏览商品.下订单,以及参加各种活动.管理员.运营可以在平台后台管理系统中管理商品.订单.会员等.客服可以 ...

  3. TIDB学习资料

    TiDB 源码阅读系列文章(一)序 TiDB 源码阅读系列文章(二)初识 TiDB 源码 TiDB 源码阅读系列文章(三)SQL 的一生 TiDB 源码阅读系列文章(四)Insert 语句概览 TiD ...

  4. MySQL 用 limit 为什么会影响性能?

    一,前言 首先说明一下MySQL的版本: mysql> select version();+-----------+| version() |+-----------+| 5.7.17 |+-- ...

  5. 初步学习jquery学习笔记(四)

    Jquery HTML Jquery 捕获内容 什么是dom? DOM = Document Object Model(文档对象模型) 获取内容 text()获取所选元素的文本内容 html()获取所 ...

  6. Yii2实现命名范围scope的自定义查询

    Yii中存在scope命名范围这个概念,Yii2里已经废弃了,在实际的项目开发情景中,我们有时需要用到命名范围这种自定义查询 使用场景: cate为栏目分类表,现在需要查询出栏目分类列表中所有的顶级分 ...

  7. Js和Jquery实现ajax长轮询

    众所周知,HTTP协议是无状态的,所以一次的请求都是一个单独的事件,和前后都没有联系.所以我们在解决网页实时聊天时就遇到一个问题,如何保证与服务器的长时间联系,从而源源不段地获取信息. 一直以来的方式 ...

  8. ldd - 显示共享库的依赖情况

    总览 (SYNOPSIS) ldd [-vVdr] program ... 描述 (DESCRIPTION) ldd 显示 每个 程序 需要 的 共享库 (shared library), 程序名 在 ...

  9. Win7 Linux双系统,恢复Linux启动项

    在一台电脑上安装Win7 Centos双系统,先安装Win,再安装Centos7.装完后,丢失Linux启动项. 恢复步骤,下载EasyBCD,添加新条目,操作系统选择Linux/BSD,类型选择GR ...

  10. python-装饰器2

    python-装饰器2 1.函数既“变量 def bar(): print("in the bar") def foo(): print("in the foo" ...