【shell】sed后向引用替换文本
要求如下:
原文
<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后向引用替换文本的更多相关文章
- [svc]find+xargs/sed&sed后向引用+awk多匹配符+过滤行绝招总结&&产生随机数
30天内的文件打包 find ./test_log -type f -mtime -30|xargs tar -cvf test_log.tar.gz find,文件+超过7天+超过1M的+按日期为文 ...
- [Shell]sed命令在MAC和Linux下的不同使用方式
---------------------------------------------------------------------------------------------------- ...
- Python3学习之路~2.8 文件操作实现简单的shell sed替换功能
程序:实现简单的shell sed替换功能 #实现简单的shell sed替换功能,保存为file_sed.py #打开命令行输入python file_sed.py 我 Alex,回车后会把文件中的 ...
- 3-1 实现简单的shell sed替换功能
1.需求 程序1: 实现简单的shell sed替换功能 file1 的内容copy到file2 输入参数./sed.py $1 $2 $1替换成$2 (把a替换成% ) 2.个人思路 open ...
- 4.实现简单的shell sed替换功能
# -*- coding:utf-8 -*- # Author: JACK ZHAO # 程序1: 实现简单的shell sed替换功能 import sys #判断参数个数 if len(sys.a ...
- python 3.x 写 shell sed 替换功能
shell sed 替换功能 f1 = open('yesterday','r',encoding='utf-8') f2 = open('yesterday2','w',encoding='utf- ...
- Sed替换文本中的指定内容
可以这样做:方法1:sed -i 's/被替换的内容/要替换成的内容/' file 方法2:sed 's/被替换的内容/要替换成的内容/g' file > file.outmv file.out ...
- Linux sed命令实现替换文本内容
/root/data/code-s3201/publish_codex/deploy/db.properties db.properties中的 1.0.0.6 替换为 1.0.0.7 sed -i ...
- Shell第二篇:正则表达式和文本处理工具
一 什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则. 生活中处处都是正则: 比如我们描述:4条腿 ...
随机推荐
- 安装opencv3.3.0碰到的问题及解决方法
出处:http://osask.cn/front/ask/view/258965 CMakeError.log Compilation failed: source file: '/home/jhro ...
- SSM项目——乐淘商城话述1.0
乐淘商城 项目介绍 淘淘网上商城是一个综合性的B2C平台,类似京东商城.天猫商城.会员可以在商城浏览商品.下订单,以及参加各种活动.管理员.运营可以在平台后台管理系统中管理商品.订单.会员等.客服可以 ...
- TIDB学习资料
TiDB 源码阅读系列文章(一)序 TiDB 源码阅读系列文章(二)初识 TiDB 源码 TiDB 源码阅读系列文章(三)SQL 的一生 TiDB 源码阅读系列文章(四)Insert 语句概览 TiD ...
- MySQL 用 limit 为什么会影响性能?
一,前言 首先说明一下MySQL的版本: mysql> select version();+-----------+| version() |+-----------+| 5.7.17 |+-- ...
- 初步学习jquery学习笔记(四)
Jquery HTML Jquery 捕获内容 什么是dom? DOM = Document Object Model(文档对象模型) 获取内容 text()获取所选元素的文本内容 html()获取所 ...
- Yii2实现命名范围scope的自定义查询
Yii中存在scope命名范围这个概念,Yii2里已经废弃了,在实际的项目开发情景中,我们有时需要用到命名范围这种自定义查询 使用场景: cate为栏目分类表,现在需要查询出栏目分类列表中所有的顶级分 ...
- Js和Jquery实现ajax长轮询
众所周知,HTTP协议是无状态的,所以一次的请求都是一个单独的事件,和前后都没有联系.所以我们在解决网页实时聊天时就遇到一个问题,如何保证与服务器的长时间联系,从而源源不段地获取信息. 一直以来的方式 ...
- ldd - 显示共享库的依赖情况
总览 (SYNOPSIS) ldd [-vVdr] program ... 描述 (DESCRIPTION) ldd 显示 每个 程序 需要 的 共享库 (shared library), 程序名 在 ...
- Win7 Linux双系统,恢复Linux启动项
在一台电脑上安装Win7 Centos双系统,先安装Win,再安装Centos7.装完后,丢失Linux启动项. 恢复步骤,下载EasyBCD,添加新条目,操作系统选择Linux/BSD,类型选择GR ...
- python-装饰器2
python-装饰器2 1.函数既“变量 def bar(): print("in the bar") def foo(): print("in the foo" ...