我有一个看起来像这样的列表:
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
^表示一行的开头和$结尾,因此这仅匹配那些没有附加文本的行。