【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条腿 ...
随机推荐
- nova计算服务
1. nova介绍 Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源.OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova 来实现的. ...
- python学习之数据类型(set)
3.9 集合(set) 3.9.1 介绍 集合是一个无序且不重复的元素集合.元素必须是可哈希的(int,str,tuple,bool).可以把它看作是dic的key的集合.用{}表示. 注意: ...
- P2429 【制杖题】
这题目名字也是够了... emmmmmm为什么要用线筛??????不感觉很麻烦吗??????既然是智障制杖题,那么肯定要用很简单的算法啦~下面,我就提供一种非常便于理解的膜你算法~~~很明显,做了这题 ...
- ENVI-IDL的MATH_DOIT和CF_DOIT函数(对FID和POS参数的讨论)
MATH_DOIT相当于ENVI的band math,可以完成各种波段运算.参数比较简单,EXP为运算公式的字符串,其他参数均为常见参数. CF_DOIT可以将已有的文件保存为ENVI格式文件,相当于 ...
- sql语言(mysql)
一.SQL语言 1.DDL (Data Definition Language) 数据库定义语言 2.DML(Data Manipulation Language) 数据库操作语言 3.DQL (Da ...
- ps和top进程监控
一.名词解释 1.什么是进程(what is process)? 答:进程是程序运行的过程,伴有动态,生命和运行状态.(组成:1.已分配内存的地址空间 2.安全属性,包括所有权凭据和特权 3.程序 ...
- k-交叉验证KFold
交叉验证的原理放在后面,先看函数. 设X是一个9*3的矩阵,即9个样本,3个特征,y是一个9维列向量,即9个标签.现在我要进行3折交叉验证. 执行kFold = KFold(n_splits=3) : ...
- ubuntu16.04+Titan Xp安装显卡驱动+Cuda9.0+cudnn
硬件环境 ubuntu 16.04LTS + windows10 双系统 NVIDIA TiTan XP 显卡(12G) 软件环境 搜狗输入法 显卡驱动:LINUX X64 (AMD64/EM64T) ...
- [转帖]Chrome 错误代码:ERR_UNSAFE_PORT
Chrome 错误代码:ERR_UNSAFE_PORT 2018年07月18日 09:07:50 孤舟听雨 阅读数 182 https://blog.csdn.net/u013043762/artic ...
- Elasticsearch操作索引
目录 操作索引 1. 基本概念 2. 创建索引 2.1 语法 2.2查看索引设置 2.3.删除索引 2.4 映射配置 2.5 新增数据 2.6 修改数据 2.7 删除数据 3. 查询 3.1 基本查询 ...