我有一个看起来像这样的列表:
server
server.apple.com
server.apple.com
server
server.apple.com
现在,我想将“.apple.com”添加到仅显示“服务器”的行中。我试过 sed :
sed -e 's/\bserver\b/server.apple.com/g'
你可以使用:
sed 's/^server$/server.apple.com/g'
^
表示行首和$
行尾。
您也不需要-e
参数,因为这只是基本的正则表达式。
如果您想要不区分大小写的搜索server
(也匹配SERVER
和SErvEr
),您可以使用该I
功能,但是各种版本不支持它sed
:
sed 's/^server$/server.apple.com/Ig'
如果您没有sed
支持的版本,I
您可以使用:
sed 's/^[Ss][Ee][Rr][Vv][Ee][Rr]$/server.apple.com/g'
sed 's/^server$/server.apple.com/g' inputfile
^
表示一行的开头和$
结尾,因此这仅匹配那些没有附加文本的行。