【发布时间】:2013-09-16 13:52:21
【问题描述】:
我有 2 个文件:oldfile 和 newfile,它们的结构相似,它们只包含细微的变化
我需要用旧文件中的一个块替换新文件中的一个文本块(作为 bash 脚本)
在旧文件中我有:
...文字
#######################################################################
# LDAP Settings
LDAPUrl = ldap://xxx
LDAPSearchBase = CN=Users,DC=xx,DC=xxx,DC=xx
LDAPSearchSecondary = ***
LDAPSearchFilter = cn=xxx
LDAPUser = CN=***,CN=Users,DC=xx,DC=xxx,DC=xx
LDAPPassword = ***
LDAPAuthenticateServer = ldap://test:389
ProsourceKey = ****
#######################################################################
...其他文字
newfile 是相同的,只是参数值发生了变化。
我使用 sed 从 oldfile 中获取此输出,如下所示:
getldap=sed -n '/^# LDAP Settings$/,/^$/p' oldfile > ldap.tmp(将其存储在 ldap.tmp 中)
使用了分隔符:# LDAP Settings 和包含空格的空行
现在我想将该输出插入到 newfile 并替换现有的类似文本。
【问题讨论】:
-
那你有什么问题或问题?