1

我在文件中有如下数据test

2233:Jorge Bill :56Blue Pkwy  :99999
1111:Mary Smith :33Red Street :123456

我想使用 sed 和分组交换姓氏和名字,但我的代码不起作用!

sed 's/\([^:]*:\)\([^' ']*' '\)\([^:]*\)/\1\3\2' test

你知道出了什么问题吗?

4

1 回答 1

2

您忘记在正则表达式中转义单引号,并且您还需要在替换字符串的末尾再添加一个正斜杠。我去掉了单引号,就在这里。

sed 's/\([^:]*:\)\([^ ]* \)\([^:]*\)/\1\3\2/' test
于 2012-07-07T20:58:09.677 回答