我有一个文件,我需要在这些行之间添加一行:
[%- IF ssl.defined %]
ssl = [% ssl %]
[%- ELSE %]
..应该导致以下
[%- IF ssl.defined %]
ssl = [% ssl %]
ssl_dh_parameters_length = 2048
[%- ELSE %]
我该怎么做?
理想情况下可以在bash脚本中运行。
答案 0 :(得分:2)
宽度sed:
sed '/\[%- ELSE %\]/i ssl_dh_parameters_length = 2048' file
在[% -ELSE %]
行之前插入行。
在ssl = [% ssl %]
和[% -ELSE %]
之间插入:
sed '/ssl = \[% ssl %\]/,/\[%- ELSE %\]/ {
/\[%- ELSE %\]/i ssl_dh_parameters_length = 2048
}' file
如果您要“就地”修改文件,请使用带有选项-i
的sed。
sed -i '/ssl = \[% ssl %\]/,/\[%- ELSE %\]/ {
/\[%- ELSE %\]/i ssl_dh_parameters_length = 2048
}' file