我想匹配替换多行与SED块,我无法弄清楚选择线..与SED
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'testblah', # Or path to database file if using sqlite3.
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # Not used with sqlite3.
'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
我认为这样做会是这样的最简单的方法;
sed -i "s/^DATABASES\s?+=\s?+{$+8/test/" settings.py
总之我想找到DATABASES = {
包括在捕获的8个以下行并替换成别的东西。
有什么不对的想法?
我认为问题在于你没有引入比赛中的所有线,但它已经有一段时间了。默认情况下,sed模式一次只能在一行中运行,你必须做一些事情来使用其他命令引入下一行。 – caveman 2010-11-13 20:29:02