我正在努力替换一些 tinydns 区域文件中的大量 TTL。无论 TTL 当前设置为什么,我都希望它变为 900。我正在寻找一些 sed 魔法,而且我似乎快到了。
我有大约 50 个主机名来替换 TTL,并且这些区域是零星分配的。
区域文件中的行不需要包含 TTL。如果他们没有,则需要附加 TTL。换句话说,我将要搜索的行如下所示:
^.*主机名:(主机名|IP)[:#]$
例如
+abc.com:12.12.12.12 =*.abc.com:xyzcom:1200
所以我需要帮助来为我的 sed 命令构建正则表达式。这将是这样的:
猫主机.txt | 读取主机时;做 sed -i 's/'$host':([^:]*)(?:[0-9]*)/'$host':\1:900/' zonefile* 完毕
任何 sed 大师都觉得慷慨吗?