テキストファイルがあります。テキストファイルには次の内容が含まれています。
ServerName
ServerAdmin webmaster@localhost
DocumentRoot
www.mydomain.com
最後にテキストを挿入する必要がありますServerName
。これを行うコマンドはありますか?
ベストアンサー1
使用sed
:
sed 's/^\(ServerName\)$/\1 www.mydomain.com/' file.txt
キャプチャされたグループは\(ServerName\)
代替モードで使用されます\1
。
ssed
GNU、busybox、またはいくつかのBSD実装を想定して、ファイルを適切に編集してバックアップを作成しますsed
。
sed -i.bak 's/^\(ServerName\)$/\1 www.mydomain.com/' file.txt
元のファイルは のままfile.bak
、変更されたファイルは のままですfile.txt.bak
。
場所で編集、バックアップは不要(ssed
またはbusybox
GNUのみ):
sed -i 's/^\(ServerName\)$/\1 www.mydomain.com/' file.txt
(BSDの場合sed -i '' 's/...
)を使用してください。
キャプチャグループなしで短くする:
sed -i 's/^ServerName$/& www.mydomain.com/' file.txt
これは&
マッチに置き換えられます。