我有一个文件:foo
该文件有一行:
JVMDATA="$(${TIMEOUT} sudo /usr/lib/jvm/jdk1.8.0_92/bin/java -jar ${JVMINSPECTOR} ${PID} 2>&1)"
我想将 /usr/lib/jvm/jdk1.8.0_92/bin/java 替换为:
JAVA_HOME/bin/java
我该怎么做呢?
一种方法可以是这样的:
sed -e 's|/usr/lib/jvm/jdk1.8.0_92/bin/java|JAVA_HOME/bin/java|' original.txt > new.txt
cp original.txt original.txt.sav
mv new.txt original.txt
这使用 sed 模式替换 s/old/new/。通常,使用斜杠很痛苦,因为您需要逃避它们。在我的系统上 sed 容忍竖线模式分隔符,以便使其更具可读性。我怀疑您想将其更改为$JAVA_HOME...(注意前导美元符号)。
为了完整起见,这里有一个使用更常见斜杠模式分隔符的版本:
sed -e 's/\/usr\/lib\/jvm\/jdk1.8.0_92\/bin\/java/JAVA_HOME\/bin\/java/' original.txt > new.txt
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句