0

我有一个看起来像这样的列表:

server
server.apple.com
server.apple.com
server
server.apple.com

现在,我想将“.apple.com”添加到仅显示“服务器”的行中。我试过 sed :

sed -e 's/\bserver\b/server.apple.com/g'
4

2 回答 2

2

你可以使用:

sed 's/^server$/server.apple.com/g'

^表示行首和$行尾。

您也不需要-e参数,因为这只是基本的正则表达式。

如果您想要不区分大小写的搜索server(也匹配SERVERSErvEr),您可以使用该I功能,但是各种版本不支持它sed

sed 's/^server$/server.apple.com/Ig'

如果您没有sed支持的版本,I您可以使用:

sed 's/^[Ss][Ee][Rr][Vv][Ee][Rr]$/server.apple.com/g'
于 2012-05-10T08:47:45.223 回答
2
sed 's/^server$/server.apple.com/g' inputfile

^表示一行的开头和$结尾,因此这仅匹配那些没有附加文本的行。

于 2012-05-10T08:47:47.097 回答