- 论坛徽章:
- 307
|
本帖最后由 sunzhiguolu 于 2015-09-15 13:42 编辑
我有一个名为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文档没有发生任何改变.
还请各位热心朋友帮忙看下,我在命令的什么地方出了问题! |
|