行がsedを使用して別の文字列で始まる場合、ファイル内の文字列を置き換えるにはどうすればよいですか?
たとえば、次の行を置き換えます。
connection = sqlite://keystone:[YOURPASSWORD]@[YOURIP]/keystone
この行で:
connection = mysql://keystone:password@10.1.1.10/keystone
答え:
sed '/^start_string/s/search_string/replace_string/'
http://www.gnu.org/software/sed/manual/sed.html#Addressesの情報
これを簡単に行うことができます:
sed -ri 's/sqlite/mysql/g' YOURFILE
sed '/^string1/ { s,string2,string3, }' file
これにより、string1 で始まるすべての行で string2 が string3 に置き換えられます。