从文件中删除值

时间:2018-10-16 05:35:56

标签: shell unix

 EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES} -DproxySet=true     -Dhttp.proxyHost=abc-proxy.company.com -Dhttp.proxyPort=80 -Dhttps.proxyHost=abc-proxy.company.com -Dhttps.proxyPort=80 -Dhttp.nonProxyHosts=localhost|*.company.com|100.10.10.12|jcd-ab-unix3.ww.corp.test.com|100.12.33.43|jcd-al-lnx87.am.corp.test.com|111.12.333.33"
export EXTRA_JAVA_PROPERTIES
# Set final environment user overrides, if available.

if [ -f ${DOMAIN_HOME}/bin/setUserOverridesLate.sh ] ; then
    . ${DOMAIN_HOME}/bin/setUserOverridesLate.sh
fi

# IF USER_MEM_ARGS the environment variable is set, use it to override ALL MEM_ARGS values

if [ "${USER_MEM_ARGS}" != "" ] ; then
    MEM_ARGS="${USER_MEM_ARGS}"
    export MEM_ARGS
fi

JAVA_PROPERTIES="${JAVA_PROPERTIES} ${EXTRA_JAVA_PROPERTIES}"
export JAVA_PROPERTIES

我想从setDomainEnv.sh文件中删除以下键和值     -DproxySet     -Dhttp.proxyPort     -Dhttps.proxyHost     -Dhttps.proxyPort     -Dhttp.nonProxyHosts

1 个答案:

答案 0 :(得分:0)

您可以使用sed命令将字符串替换为空字符串。

sed -i 's/-DproxySet//g' setDomainEnv.sh

这会将 -DproxySet 替换为空字符串。这将在实际文件中进行更改。

您可以为每个要删除的值运行一个for循环,并使用上面的sed命令。 或者,您也可以在sed中传递多个表达式,例如 sed -e 's/-DproxySet//g' -e 's/-Dhttp.proxyHost//g' setDomainEnv.sh