sed的标签用法

今天更新区组列表文件,其中F=16的状态是隐藏的状态,玩家是看不到的,其他F=0,添加维护中是需要将S=0变为S=10,F=0,而同步后登录游戏发现区组列表中隐藏的测试区组也出现了并且是维护的状态!

查看脚本,发现用sed将所有的F全部=0了,没有考虑隐藏F=16的情况。

<Server N="测试" A="xx.xx.xx.xx" P="12345" S="0" F="16" />
sed -i -r "s/ S=\"[[:digit:]]*\" / S=\"10\" /g" $1

心想:sed有没有像if/else的语法呢,上网查询发现有个用法叫"标签/lable"

QUOTE:
b label Branch to label; if label is omitted, branch to end of script.

t label If a s/// has done a  successful  substitution  since  the  last input  line  was  read  and  since the last t or T command, then branch to label; if label is omitted, branch to end of script.

T label If no s/// has done a successful  substitution  since  the  last input  line  was  read  and  since the last t or T command, then branch to label; if label is omitted, branch to end of script.
b、t和T的共同点是“if label is omitted, branch to end of script”不同点是b无条件跳转,t和T有条件跳转
[[email protected] ~]# sed ‘{   
/label/b there;      \\当匹配label时,就跳转到比标签there那,然后执行下面的s/$/ \!/语句,而s/label/LABEL/;语句就不执行了。 
s/label/LABEL/;         
:there;                  \\ 定义一个标签there。
s/$/ \!/}‘ test
This is a label A !
This is a label B !
This is a label C !
This is a label D !

请看如下代码:

[[email protected]A ~]# cat c
aaa
bbb
ccc
ddd
eee
fff
[[email protected] ~]# sed ‘/ccc/s/$/\tYES/;ta;s/$/\tNO/;:a‘ c
aaa     NO
bbb     NO
ccc     YES
ddd     NO
eee     NO
fff     NO

sed的标签用法

时间: 2024-10-27 09:08:04

sed的标签用法的相关文章

sed命令的用法

sed命令的用法 -n:选项不打印文件的所有行 [[email protected] ~]# sed '1'p 1                  //不带-n选项,sed会把所匹配的行打印出来,  root:x:0:0:root:/root:/bin/bash             //所要求的行  root:x:0:0:root:/root:/bin/bash              // 并且打印整个文本文件  bin:x:1:1:bin:/bin:/sbin/nologin syn

Web前端设计:Html强制不换行&lt;nobr&gt;标签用法代码示例

在网页排版布局中比如文章列表标题排版,无论多少文字均不希望换行显示,需要强制在一行显示完内容.这就可以nobr标签来实现.它起到的作用与word-break:keep-all 是一样的.nobr 是 No Break 的缩写,意思是禁止换行.通常在浏览器上显示的文档会在到达浏览器的横幅底端时自动换行,但是如果文字被包含在<nobr>-</nobr>标签里的话,则不会换行.由www.169it.com搜集整理 一.nobr语法 1 <nobr>内容</nobr>

sed的模式匹配用法探讨

[[email protected] Desktop]# cat sunsky a b c d e f [[email protected] Desktop]# cat sunsky|sed '1,2d'|sed '1,2d' e f [[email protected] Desktop]# cat sunsky|sed -e '1,2d' -e '1,2d' d e f 问题: sed中-e的意思是直接在指令列模式上进行sed的动作编辑按照,那么按照-e的含义,上下两组命令的执行结果应该相同,

sed的基本用法

一.sed基本简介     sed是每次读取文件一行内容到一个缓冲区中(模式空间)进行处理,这个处理是指依次调用script中的命令对模式空间中的内容处理.注意是对模式空间的内容进行处理而非原文件,如需对原文件,则需使用选项. 二.用法 sed基本用法及选项: sed的基本用法:         sed- stream editor for filtering and transforming text         sed [OPTION]...{script-only-if-no-othe

【JSP】&lt;meta&gt;标签用法

转载自:http://blog.sina.com.cn/s/blog_65c74cce0102v39z.html  非常感谢这位博主,急着用,改日再细细品味重新整理这篇博文. http-equiv META标签分两大部分:HTTP标题信息(HTTP-EQUIV)和页面描述信息(NAME). ★HTTP-EQUIV HTTP-EQUIV类似于HTTP的头部协议,它回应给浏览器一些有用的信息,以帮助正确和精确地显示网页内容.常用的HTTP-EQUIV类型有: 1.Content-Type和Conte

sed命令基础用法

    sed(Stream EDitor)简介 sed是一个流编辑器编辑器,本身是一个管道命令,主要以行为单位处理文本文件,可以将数据进行替换.删除.新增.选取等特定工作:sed并不会处理文本文件本身,而是每当处理一个文件时,按顺序逐行读取到模式空间(内存)中,而后在模式空间中完成编辑,把编辑的结果输出到屏幕上,接着处理下一行,反复操作,直到文件结尾. 模式空间:将读取的内容放在内存中的一块区域编辑,这些内存空间就称为模式空间 格式: sed [options]    'Address Com

iframe标签用法详解(属性、透明、自适应高度)(总结)

<iframe src="http://www.jb51.net" width="200" height="500"> 脚本之家使用了框架技术,但是您的浏览器不支持框架,请升级您的浏览器以便正常访问脚本之家. </iframe> 在transparentBody.htm文件的<body>标签中,我已经加入了style="background-color=transparent" 通过以下四种

if判断标签用法说明更新

原博文说明(http://blog.csdn.net/tx18/article/details/43850295)有同学在理解上出现歧义,特更新说明如下: 功能: ? 判断标签,根据参数决定解释执行符合条件的子标签 用法: <if x=条件值 [else=子标签序号]> <子标签 x=[条件值]>......</ 子标签> ...</if> ? x:条件值,与子标签中的x比较,如果相等则解释执行该子标签 ? else:子标签序号(0.1.2 - N),可选,

struts2标签用法随笔

1.s:textfield的label可以设置显示的文字,但是不能嵌套调用s:property,这样可以解决 <s:textfield name="name" ><s:property value="#st.index+1"/></s:textfield> 2.s:iterator 遍历的序号 <s:iterator value="type.subs" status="st">&