【发布时间】:2022-10-24 21:05:27
【问题描述】:
我想从下面添加的文件中删除以下部分。
-
无法从文件中删除
credentials.admin.adapters此属性 -
它删除了同一行中的其他属性。
-
如何在同一行的
< >这个字符之间添加内容。<!--<UndefineProperty name="credentials.admin.adapters"/>--> <!--<AddToProperty name="credentials.admin.adapters" value="com.Ldap^cn=Manager^encrypted.com.Ldap.cn=admin"/>--> <Property name="credentials.admin.adapters" overridable="true" targetFile="Credentials.txt" value="com.Ldap^id=proxy"/> <!--<UndefineProperty name="credentials.admin.adapters"/> <AddToProperty name="credentials.admin.adapters" value="com.Ldap^cn=admin^encrypted.com.Ldap.cn=admin"/> -->新配置文件
<!--<UndefineProperty name="credentials.admin.adapters"/>--> <!--<AddToProperty name="credentials.admin.adapters" value="com.Ldap^cn=Manager^encrypted.com.Ldap.cn=admin"/>--> <Property name="credentials.admin.adapters" overridable="true" targetFile="Credentials.txt" value="com.Ldap^id=proxy"/> <Property name="pom.dbUser" overridable="true" targetFile="db.properties" value="NM"/> <Property name="pom.jdbc.host" overridable="true" targetFile="db.properties" value="0038.rds.amazonaws.com"/> <Property name="pom.dbPassword" overridable="true" targetFile="db.properties" value="encrypted.pom.dbPassword"/> <Property name="pom.serviceName" overridable="true" targetFile="db.properties" value="rds.amazonaws.com:10:0038"/> <Property name="pom.jdbc.service" overridable="true" targetFile="db.properties" value="0038"/> <Property name="pom.jdbc.port" overridable="true" targetFile="db.properties" value="10"/> <ConfigurationRef xlink:href="utilities/configurator.xconf"/> <ConfigurationRef xlink:href="owl.xconf"/> <ConfigurationRef xlink:href="ser.xconf"/> <!--<UndefineProperty name="credentials.admin.adapters"/> <AddToProperty name="credentials.admin.adapters" value="com.Ldap^cn=admin^encrypted.com.Ldap.cn=admin"/> --><Property name="com.distproc.credential" overridable="true" targetFile="distproc.properties" value=""/> </Configuration>我在下面试过:
sed -i '/value=/N; s/\n\s*/ /g' newconf.txt sed -i "/credentials.admin.adapters/d" newconf.txt但上面的代码也删除了其他属性。
我想要以下输出:
<Property name="pom.dbUser" overridable="true" targetFile="db.properties" value="NM"/> <Property name="pom.jdbc.host" overridable="true" targetFile="db.properties" value="0038.rds.amazonaws.com"/> <Property name="pom.dbPassword" overridable="true" targetFile="db.properties" value="encrypted.pom.dbPassword"/> <Property name="pom.serviceName" overridable="true" targetFile="db.properties" value="rds.amazonaws.com:10:0038"/> <Property name="pom.jdbc.service" overridable="true" targetFile="db.properties" value="0038"/> <Property name="pom.jdbc.port" overridable="true" targetFile="db.properties" value="10"/> <ConfigurationRef xlink:href="utilities/configurator.xconf"/> <ConfigurationRef xlink:href="owl.xconf"/> <ConfigurationRef xlink:href="ser.xconf"/> <Property name="com.distproc.credential" overridable="true" targetFile="distproc.properties" value=""/> </Configuration>删除以下行:
<!--<UndefineProperty name="credentials.admin.adapters"/>--> <!--<AddToProperty name="credentials.admin.adapters" value="com.Ldap^cn=Manager^encrypted.com.Ldap.cn=admin"/>--> <Property name="credentials.admin.adapters" overridable="true" targetFile="Credentials.txt" value="com.Ldap^id=proxy"/> <!--<UndefineProperty name="credentials.admin.adapters"/> <AddToProperty name="credentials.admin.adapters" value="com.Ldap^cn=admin^encrypted.com.Ldap.cn=admin"/> -->
【问题讨论】:
-
输出行以空格开头而哪些不以空格开头的基本原理是什么?
-
你能解释一下吗?
-
在您预期的输出中,前 3 行从行首开始,然后接下来的 2 行缩进 1 个空格,然后接下来的行缩进 3 个空格,然后 2 行缩进 1 个空格,然后 1 行缩进 2空白,然后最后 2 行再次缩进 1 个空白。为什么?是什么决定了每个输出行缩进多少个空格?