如何使用 sed 在特定行上方的 shell 文件中添加新行
Posted
技术标签:
【中文标题】如何使用 sed 在特定行上方的 shell 文件中添加新行【英文标题】:How to add a new line to a shell file above a specific line with sed 【发布时间】:2019-01-21 10:15:17 【问题描述】:我想为文件apache-jmeter 4.0/bin/jmeter
添加一个新行
文件最后2行如下
fi
"$JAVA_HOME/bin/java" $ARGS $JVM_ARGS $JMETER_OPTS -jar. "$PRGDIR/ApacheJMeter.jar" "$@"
我想在文件最后一行的上方添加一行,使输出如下所示
fi
#JVM_ARGS="-Xbootclasspath/p:/home/ubuntu/alpnboot.jar"
"$JAVA_HOME/bin/java" $ARGS $JVM_ARGS $JMETER_OPTS -jar. "$PRGDIR/ApacheJMeter.jar" "$@"
【问题讨论】:
【参考方案1】:在Running JMeter 中建议将此类选项添加到setenv.sh
文件中:
要永久设置这些变量,您可以将它们放在 bin 目录中名为 setenv.sh 的文件中。该文件将在运行 JMeter 时通过调用 jmeter 脚本获取。
【讨论】:
【参考方案2】:相关的 sed 命令类似于:
sed 's/^"\$JAVA_HOME\/bin\/java" \$ARGS \$JVM_ARGS \$JMETER_OPTS -jar "\$PRGDIR\/ApacheJMeter\.jar" "\$@"$/#JVM_ARGS="-Xbootclasspath\/p:\/home\/ubuntu\/alpnboot\.jar"\n&/' jmeter
请记住,sed 使用 Posix Basic Regular Expressions,因此您需要使用反斜杠转义任何 $.*/[\]^
字符。
如果您要使用HTTP2 Sampler,您可以使更改永久化,这个-Xbootclasspath
选项不会有任何害处,打开和关闭它没有多大意义。
【讨论】:
以上是关于如何使用 sed 在特定行上方的 shell 文件中添加新行的主要内容,如果未能解决你的问题,请参考以下文章