我正在尝试使用awk或sed将字符串'_SOMETHING'附加到以'check_nrpe_aix'开头的文件中的每个现有字符串
之前:
define command {
command_name check_nrpe_aix_load
command_line $USER1$/check_nrpe -p $USER11$ -H $HOSTADDRESS$ -a $ARG1$ $ARG2$ ARG3$
}
define command {
command_name check_nrpe_aix_cpu_stats
command_line $USER1$/check_nrpe -p $USER11$ -H $HOSTADDRESS$ -a $ARG1$ $ARG2$
}
之后:
define command {
command_name check_nrpe_aix_load_SOMESTRING
command_line $USER1$/check_nrpe -p $USER11$ -H $HOSTADDRESS$ -a $ARG1$ $ARG2$ ARG3$
}
define command {
command_name check_nrpe_aix_cpu_stats_SOMESTRING
command_line $USER1$/check_nrpe -p $USER11$ -H $HOSTADDRESS$ -a $ARG1$ $ARG2$
}
我将您的示例放置在名为input.txt的文件中
$ cat input.txt
define command {
command_name check_nrpe_aix_load
command_line $USER1$/check_nrpe -p $USER11$ -H $HOSTADDRESS$ -a $ARG1$ $ARG2$ ARG3$
}
define command {
command_name check_nrpe_aix_cpu_stats
command_line $USER1$/check_nrpe -p $USER11$ -H $HOSTADDRESS$ -a $ARG1$ $ARG2$
}
现在,如果您运行:
awk 'BEGIN {OFS=""} {if ($0 ~ /check_nrpe_aix/) print $0,"_SOMESTRING";else print $0}' input.txt
您应该得到预期的结果:
$ awk 'BEGIN {OFS=""} {if ($0 ~ /check_nrpe_aix/) print $0,"_SOMESTRING";else print $0}' input.txt
define command {
command_name check_nrpe_aix_load_SOMESTRING
command_line $USER1$/check_nrpe -p $USER11$ -H $HOSTADDRESS$ -a $ARG1$ $ARG2$ ARG3$
}
define command {
command_name check_nrpe_aix_cpu_stats_SOMESTRING
command_line $USER1$/check_nrpe -p $USER11$ -H $HOSTADDRESS$ -a $ARG1$ $ARG2$
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。