Regex 如何使用Sed查找文件模式并在行尾追加变量值

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

我正在尝试安装一个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
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