[学习分享]
已经解决.结贴 命令 sed - 文本替换失败 ([-i]选项使用位置)
本帖最后由 sunzhiguolu 于 2015-09-15 13:43 编辑
我有一个名为contacts的文档其中记录了一些联系人的信息.并且其中包含5个字段以":"冒号进行分割,分别为如下字段:
姓氏:名字:所属组.工作单位:电话号码:名字缩拼
字段示意:
所属组:g<12345>.工作单位 , 工作单位使用大写首字母表示,例如:医院 <=> YY , 机关 <=> JG , 12345表示电话号码
示例:
zhang:san:g<12345>.YY:888:zs
li:si:g<12345>.JG:999:ls
我希望将contacts文档中所属组在g<12345>中的那些联系人,将所属组后面的 ".YY" 或者 ".JG" 替换为 ":wk<yy>" 或者 "wk<jg>"
替换后的结果如下:
zhang:san:g<12345>:wk<yy>:888:zs
li:si:g<12345>:wk<jg>:999:ls
观看了一下执行效果:
此处的输出结果按照预期成功的进行了替换操作,并将大写转换成小写的形式.sed -nr '
/g<12345>/{
s/\.([a-z]{2})/:wk<\L\1\E>/ip
}' contacts
复制代码实际操作的sed命令:sed -ir '
/g<12345>/{
s/\.\([a-z]{2}\)/:wk<\L\1\E>/i
}' contacts
复制代码执行后,没有任何提示.利用grep 命令查看结果contacts文档没有发生任何改变.
还请各位热心朋友帮忙看下,我在命令的什么地方出了问题!