linux上如何使用sed命令替换xml中内容

作者&投稿:产待 (若有异议请与网页底部的电邮联系)
如何用sed命令,获取XML数据中指定节点的内容~

举例:
xml文件:
1 2文件名:xml.txt
依次设置变量tag=num1、num2、hello,使用sed语句:
sed -n '//{/\/'$tag'/{p;b};:BG;N;/开始,直到结束,之间的内容打印出来

1、思路,sed可以删除指定行内容,也可以在指定行添加内容
2、首先确定BB.Name所在行,如果有重复,需要增加head -1
r1=`grep -n "BB.Name" a.xml|awk -F: '{print $1}'|head -1`
3、行号r2
((r2=r1-1))
4、行号r3
((r3=r1+3))
5、删除r2和r3中间所有行
sed -i '${r2},${r3}d' a.xml
sed -i '5,8d' a.xml
sed -i '5d' a.xml
6、在r4行处读入s.txt内容
((r4=r1-2))
sed -i '$r4 r s.txt' a.xml
7、实例
#!/bin/sh
r1=`grep -n "BB.Name" a.xml|awk -F: '{print $1}'|head -1`
((r2=r1-1))
((r3=r1+3))
((r4=r1-2))
sed -i "${r2},${r3}d" a.xml
sed -i "${r4} r s.txt" a.xml

[root@11~]# echo "aaa<test>12" 
aaa<test>12
[root@11 ~]# echo "aaa<test>12" | sed 's/<test>12/0/g'
aaa0

这样就可以了



sed -i "s/<test>12/0/g" /opt/chen


怎么在linux系统上使用终端
1、使用用户名和密码登录到Linux系统,点击“活动”—“终端”,打开终端工具。2、在命令行,输入 init 3 命令,并按回车键执行,切换到命令行界面。3、切换到命令行界面后,在界面上只显示一个闪烁的光标,按下 Ctrl+Alt+F6(非虚拟机)或者 Alt+F6(虚拟机),显示用户登录界面。4、输入用户名和...

如何在Linux系统中使用vim?
1、首先,点击任务栏上的“启动器”。2、在“启动器”中找到终端并运行。3、在终端中当前用户的家目录,创建一个.xmodmap的文件,默认linux下是没有此文件的。如果之前已经存在,则略过此步。4、创建完成,用vim打开此文件。5、用vim打开后,按i键进入编辑模式,输入如下内容。6、输入完成后,在vim...

新手如何使用Linux?
首先为自己创造一个学习linux的环境,个人电脑安装Linux虚拟机或购买华为云、阿里云等云服务器,操作系统选型centos,国内其他大部分都是centos版本,强烈建议亲自动手把linux装到你的硬盘上,熟悉整个安装过程,磁盘划分、IP设置、软件包安装等。建议买一本不需要太厚的linux教材,大致可以满足要求。然后自己练...

如何在Linux上使用tar命令解压和压缩文件
首先,如果你想创建一个压缩文件,可以使用如下的命令结构:`tar -cvf archive.tar file1 file2`,其中 `-c` 表示创建,`-v` 则开启详细模式显示进度。如果你需要压缩并使用zip格式,可以加上 `-z` 参数,如`tar -czvf archive.tar.gz \/path\/to\/files`。如果你想压缩整个目录,但排除其中特定...

如何使用命令行在Linux中查找文件和文件夹
1.使用查找命令 “find”命令允许您搜索知道近似文件名的文件。该命令的最简单形式在当前目录中搜索文件,并递归地通过其与所提供的搜索条件匹配的子目录。您可以按名称,所有者,组,类型,权限,日期和其他条件搜索文件。 在提示符下键入以下命令将列出当前目录中的所有文件。 “find”后的点表示当前...

Linux使用SecureCRT上传和下载文件教程
1、需要上传或者下载,需要使用rz和sz命令。如果linux上没有这两个命令工具,则需要先安装。可以使用yum安装。运行命令yum install lrzsz。   2、安装完成后就可以使用rz命令上传本地的文件到linux平台。运行rz命令,会弹出选择文件的对话框。   3、选择需要上传的...

linux下free命令如何使用
首先我们介绍命令的格式为 free [参数]。介绍第一条命令"free"显示内存的使用信息。默认按照M的计数单位统计。显示各个参数说明:total表示 总计物理内存的大小。used表示 已使用多少。free表示 可用内存多少。Shared表示 多个进程共享的内存总额。Buffers\/cached表示 磁盘缓存的大小。第三行(-\/+...

linux操作系统如何使用
比如将AS4.0原版的SRPM源码编译后,换上Centos社区的logo,这样就成为了CentOS 4.0。Redhat Enterprise Linux AS4 Update1的源码编译后,就成为了CentOS4.1。AS4 Update2的源码编译后,就成为了CentOS4.2等等。CentOS就是这样产生的。因此,可以说CentOS就是Redhat的AS\/ES\/WS的免费版本,使用centos可以获得与redhat 企业级...

Linux下touch命令有什么作用如何使用?
linux的touch命令不常用,一般在使用make的时候可能会用到,用来修改文件时间戳,或者新建一个不存在的文件。1.命令格式:touch [选项]。。。 文件。。。2.命令参数:-a 或--time=atime或--time=access或--time=use 只更改存取时间。-c 或--no-create 不建立任何文档。-d 使用指定的日期时间...

linux如何登录用户linux如何登录
1、你们双方的网络要互通;2、你得知道对端Linux主机的开放端口;3、知道对端Linux的用户名密码 4、telnet或者ssh登录。linux如何登录https?curlhttps即可,发送https请求 linux下如何使用ssh远程登录主机,执行shell脚本?linux主机登录另外一台linux服务器,直接在命令行提示符下输入:ssh账号@IP地址即可比如...

贵定县15535568794: 在LINUX中 如何用sed将整行替换成给定字符串? -
强溥复脉: sed -e 's/^.*$/string/' filename 其中string是你要替换的字符串 以上命令是把所有行都替换成某个字符串,如果你要只替换某一行,可以在前面加上行号:sed -e '3s/.*$/string/' ......

贵定县15535568794: linux中sed命令如何运用'\ ' 反斜杠 -
强溥复脉: 路径"../syslog/tmp/"替换为"/data/syslog/tmp”首先要搞清楚,转义符\的作用是消除有特殊含义字符的特殊意义,使其还原为普通字符. sed -i 's/\.\.\/syslog\/tmp\//\/data\/syslog\/tmp/' file.ini 点号.在正则表达式中有其特殊含义(表示任意一个字...

贵定县15535568794: 如何使Linux sed 命令来替换目标字符串为函数的入参? -
强溥复脉: 1 2sed"s/^someVariable=.\{0,\}/someVariable=$1/g"/file_path/file.suffix sed"s/^someVariable=.*/someVariable=$1/g"/file_path/file.suffix sed里面调用变量要用双引号

贵定县15535568794: 问在LINUX中 如何用sed将整行替换成给定字符串
强溥复脉: sed -i 's_^.*/12/7/2010/.*$_myString_' myfile 其中, myString 是你所谓的给定字符串. myfile 是你要操作的文件.

贵定县15535568794: linux sed 如何替换字符串中的反斜杠\ -
强溥复脉: 在字符替换中,可能会遇见引号,“/”等的替换,这时应该注意,sed的命令原型是:sed -i "s/oldstring/goalstring/g" file 如果一个路径是data/path/abc,现在要将此路径换成一个字符串cde 但是这时跟在s后边的其实是分隔符,用以将...

贵定县15535568794: Linux中sed命令查找替换某行中的字符 -
强溥复脉: sed '/minlength/s/[0-9]\+/30/'

贵定县15535568794: linux中如何用sed 将文件file1里的a - b行的内容替换到文件file2的c - d行? -
强溥复脉: 我是这么实现的,把这个问题分成了以下四步来执行sed -n '1,c-1p' file2 > newfile sed -n 'a-bp' >> newfile sed -n 'd+1,$p' >> newfile mv newfile file2 也就是将file1和file2中的内容分段地输出到一个新的文件之中,当操作完成之后再将这个新的文件重命名到file2

贵定县15535568794: linux里面的sed命令怎么用,做什么的?请详细说明 -
强溥复脉: sed 编辑器是 Linux 系统管理员的工具包中最有用的资产之一 Linux 操作系统最大的一个好处是它带有各种各样的实用工具.存在如此之多不同的实用工具,几乎不可能知道并了解所有这些工具.可以简化关键情况下操作的一个实用 工具是 sed...

贵定县15535568794: linux上如何使用sed命令替换xml中内容 -
强溥复脉: [root@11~]# echo "aaa<test>12" aaa<test>12 [root@11 ~]# echo "aaa<test>12" | sed 's/<test>12/0/g' aaa0这样就可以了

贵定县15535568794: linux下如何用sed命令将$(VAR) 替换为 ${VAR} -
强溥复脉: sed 's/$(\([^)]*\))/${\1}/g' filename

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网