要求如下:

  原文
<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. CTF—攻防练习之HTTP—PUT上传漏洞

    主机:192.168.32.152 靶机:192.168.32.159 中间件PUT漏洞 包括apache,tomcat,IIS等中间件设置支持的HTTP方法(get,post,head,delete ...

  2. Shell编程、part3

    本节内容 1. shell流程控制 2. for语句 3. while语句 4. break和continue语句 5. case语句 6. shell编程高级实战 shell流程控制 流程控制是改变 ...

  3. Java 8中处理集合的优雅姿势——Stream

    在Java中,集合和数组是我们经常会用到的数据结构,需要经常对他们做增.删.改.查.聚合.统计.过滤等操作.相比之下,关系型数据库中也同样有这些操作,但是在Java 8之前,集合和数组的处理并不是很便 ...

  4. sql中循环的存储过程

    ), a2 bigint, a3 bigint) returns void as $$declare ii integer; begin II:; FOR ii IN a2..a3 LOOP INSE ...

  5. [luogu 3175] [HAOI2015]按位或(min-max容斥+高维前缀和)

    [luogu 3175] [HAOI2015]按位或 题面 刚开始你有一个数字0,每一秒钟你会随机选择一个[0,2^n-1]的数字,与你手上的数字进行按位或运算.问期望多少秒后,你手上的数字变成2^n ...

  6. A*算法【拼图游戏】

    数据结构 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys ...

  7. PostgreSQL-UNION与Order by 冲突

    问题描述 union 连接的两个sql 都包含 order SELECT <property1>, <property2> FROM <table1> ORDER ...

  8. 关于 Spring AOP (AspectJ) 你该知晓的一切 (转)

    出处:关于 Spring AOP (AspectJ) 你该知晓的一切

  9. ElasticSearch5.3安装IK分词器并验证

    ElasticSearch5.3安装IK分词器 之前使用Elasticsearch安装head插件成功了,但是安装IK分词器却失败了.貌似是ElasticSearch5.0以后就不支持直接在elast ...

  10. 在springboot中集成jsp开发

    springboot就是一个升级版的spring.它可以极大的简化xml配置文件,可以采用全注解形式开发,一个字就是很牛.在springboot想要使用jsp开发,需要集成jsp,在springboo ...