次のようなリストがあります。
server
server.apple.com
server.apple.com
server
server.apple.com
ここで、「server」とだけ書かれている行に「.apple.com」を追加したいと思います。私はsedを試しました:
sed -e 's/\bserver\b/server.apple.com/g'
あなたが使用することができます:
sed 's/^server$/server.apple.com/g'
^は行頭、行末を$意味します。
-eこれは単なる基本的な正規表現であるため、引数も必要ありません。
大文字と小文字を区別しない検索(とserverも一致) が必要な場合は、関数を使用できますが、さまざまなバージョンの ではサポートされていません。SERVERSErvErIsed
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
^は行$の開始と終了を意味するため、追加のテキストがない行のみに一致します。