次のようなリストがあります。
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
も一致) が必要な場合は、関数を使用できますが、さまざまなバージョンの ではサポートされていません。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
^
は行$
の開始と終了を意味するため、追加のテキストがない行のみに一致します。