【发布时间】:2017-04-04 16:48:10
【问题描述】:
test.sed
s/^(\([0-9][0-9][0-9]\))\([[:space:]][0-9][0-9][0-9]\)-\([0-9][0-9][0-9][0-9]\)/(XXX)\2-\3/
我用来运行 test.sed 的命令:
sed -f test.sed 文件.txt
file.txt:
(123) 123-2345
(456) 416-2345
(111) 905-2345
(222) 905-2345
输出:
(XXX) 123-2345
(XXX) 416-2345
(XXX) 905-2345
(XXX) 905-2345
预期输出:
(XXX) 123-2345
(XXX) 416-2345
(ZZZ) 905-2345
(ZZZ) 905-2345
您好,基本上这只是将所有电话号码更改为“(XXX)123-1234”之类的形式。 但是我想再提出一个条件,如果括号中的原始数字是 111 或 222,它不会将括号中的数字更改为 XXX,而是更改为 ZZZ。
如何在 sed 中做到这一点?
非常感谢。
【问题讨论】:
标签: sed