rjps.net
当前位置:首页 >> shEll脚本sED命令 >>

shEll脚本sED命令

sed 's/book[^s]/books/g' file这样做有两个问题:1. 不会替换第一次books的book2. 如果是以book结尾,不会替换book我还没想到好的解决方法

sed的替换命令格式:s/A/B/g 或者 s#A#B#g 或者 s_A_B_g#只是分隔符而已,为满足格式需要.将所有制表符\t替换为|g表示全局替换,有多少次替换多少次.

sed 编辑器是 Linux 系统管理员的工具包中最有用的资产之一Linux 操作系统最大的一个好处是它带有各种各样的实用工具.存在如此之多不同的实用工具,几乎不可能知道并了解所有这些工具.可以简化关键情况下操作的一个实用 工具是 sed

<p>用正则匹配</p> id=2newscore=95sed "/^$id/s/[0-9]*$/$newscore/" file.txt &gt;output.txt<p></p> <p>匹配以该id开头的行(^匹配行首位置),然后用s替换命令,将结尾的数字替换为newscore的值($匹配行末位置,[0-9]匹配任意一个数字,*表示出现0次或多次).结果输出到output.txt中.</p> <p>另外,id是一个shell命令(你看,这里被自动语法高亮了),建议用一个不同的变量名.</p>

sed -n '/pattern/p' file_name |sed -n 7,12p#pattern是你要查的内容#file_name是你要查的文件以上实现:打印出匹配结果中的7-12行sed -n '/pattern/{7,12p}' file_name以上实现将文件中7到12行中匹配的数据显示出来

这是老式编程语言里的标签跳转, 相当于c语言里面的goto语句可以实现 分支选择, 循环等功能sed '/^aa/ba;s/$/ no/;b;:a;s/$/ yes/' 解读如下sed是逐行扫描的/^aa/ba;s/$/ no/ 意思是如果当前行句首是aa则跳转到标签a,执行s/$/ yes/ 即在行末插入yes (这里使用替换s命令实现插入)否则执行s/$/ no/, 在行末插入no对所有行都执行这种操作, 大功告成

sed -r -i "/$num/ s/.*/$num $name/g" test

是把双竖线||替换成双竖线中间多了一个空格?||>| | sed -i "s/||/|\ |/g" 文件名 参数-i,是zhij在原文件进行修改替换操作 我记得|不是特殊符号,不需要转义.空格哪里可以试一下有转义或者没转义

sed 默认输出结果,不修改文件.而且这里的输入是管道.这样做: cat a.conf |grep '/'|sed 's/oracle/orcl/g' > tmp.conf mv tmp.conf a.conf

1)cat a.config | grep "^name" 累赘,直接写为 grep "^name" a.config2)>>/dev/null ,不需要>>,直接 > 就可以,即使输出可能是多行内容,也可以作为一个整体.3)=前后有空格的话,将" = "(=前后加上了空格)设为字段分隔符就可以

wnlt.net | mdsk.net | ymjm.net | wwfl.net | lhxq.net | 网站首页 | 网站地图
All rights reserved Powered by www.rjps.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com