Regex 如何使用Sed查找文件模式并在行尾追加变量值
我正在尝试安装一个Nagios插件,该文件名为Nagios,用PERL编写-该文件将帮助我们将Nagios docker警报系统与slack集成 我需要做的是使用sed打开文件,在第120行和第304行找到一个特定的模式,并在每行的末尾追加一个变量的内容 Regex 如何使用Sed查找文件模式并在行尾追加变量值,regex,bash,perl,sed,append,Regex,Bash,Perl,Sed,Append,我正在尝试安装一个Nagios插件,该文件名为Nagios,用PERL编写-该文件将帮助我们将Nagios docker警报系统与slack集成 我需要做的是使用sed打开文件,在第120行和第304行找到一个特定的模式,并在每行的末尾追加一个变量的内容 #/usr/bin/env bash #进入temp dir并执行以下操作 cd/tmp/&&wgethttps://raw.github.com/tinyspeck/services-examples/master/nagios.pl
#/usr/bin/env bash
#进入temp dir并执行以下操作
cd/tmp/&&wgethttps://raw.github.com/tinyspeck/services-examples/master/nagios.pl
mv/tmp/nagios.pl/tmp/slack_nagios.pl&&chmod+x/tmp/slack_nagios.pl
#定义两个变量adding1和adding2,然后为每个变量添加值
阅读-d''adding1我没有花足够的时间理解您的具体示例,但您要解决的一般问题是
sed '120,304{/pattern/s/$/add_this_to_end_of_line/}' file
请注意,这可以转化为awk,如果您需要进行更复杂的更改,它将为您提供更多的功能
awk 'NR>=120 && NR<=304 && /pattern/{$0=$0 "add this"}1' file
awk'NR>=120&&NRHi感谢@karaka,您的回答帮助我澄清了一些疑问,我需要做些什么。最后,我成功地使脚本执行了我希望完成的任务。
awk 'NR>=120 && NR<=304 && /pattern/{$0=$0 "add this"}1' file