首页 > 解决方案 > 从包含子字符串的文件中删除行

问题描述

我需要从文件中删除一些行。具体来说,我需要删除所有包含子字符串的行:export JAVA_HOME=/usr/lib/jvm

我试过了:

sed -i -e "/export JAVA_HOME=\"\/usr\/lib\/jvm*/d" file

sed -i -e "/export JAVA_HOME=\"\/usr\/lib\/jvm/d" file

但是那些并没有删除我在其中的行file

export JAVA_HOME=/usr/lib/jvm/openjdk-8-amd64/jre/

请问有什么帮助吗?谢谢

标签: bashsed

解决方案


从您的模式中删除引号,因为它没有出现在您要删除的行中:

sed -i -e "/export JAVA_HOME=\"\/usr\/lib\/jvm/d" file
#                            ^^ remove this

推荐阅读