我有一个DNS区域文件,其中只有一个NSs记录的应该更新:它们中的任何一个都应该变成。
domain.com. 1800000 IN SOA dns1.hosting.com. cpanel.one.domain2.com. (
2018101101 ;Serial Number
86400 ;refresh
7200 ;retry
3600000 ;expire
86400 )
domain.com. 1800000 IN NS dns1.hosting.com.
domain.com. 1800000 IN NS dns1.hosting.com.我尝试使用sed来实现这一点,它只更新两个记录。请帮帮忙。
sed -i '/NS/ s/dns1/dns2/' domain.com.db预期结果:
domain.com. 1800000 IN SOA dns1.hosting.com. cpanel.one.domain2.com. (
2018101101 ;Serial Number
86400 ;refresh
7200 ;retry
3600000 ;expire
86400 )
domain.com. 1800000 IN NS dns1.hosting.com.
domain.com. 1800000 IN NS dns2.hosting.com.发布于 2019-11-21 10:16:23
sed -i -e '0,/\<NS\>/s/\(\<NS.*\s\)dns1/\1dns2/' domain.com.db范围0,/\<NS\>/将搜索和替换限制为从文件开始到NS作为单独单词出现的第一行。替换只在与\(\<NS.*\s\)dns1匹配的行上进行。
https://stackoverflow.com/questions/58972097
复制相似问题