使用 augtool 从 /etc/hosts 中删除多行
remove multiple line from /etc/hosts using augtool
我的 /etc/hosts 看起来像这样:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.13.11 idm.myhost.com
192.168.13.10 dnsf.myhost.com
192.168.13.11 idm.myhost.com
192.168.13.10 dnsf.myhost.com
192.168.13.11 idm.myhost.com
192.168.13.10 dnsf.myhost.com
192.168.13.10 temp1.myhost.com
我可以通过下面的查询来查询重复的行:
print /files/etc/hosts/*/canonical["idm.myhost.com"]
或者使用正则表达式
defvar mypath /files/etc/hosts
print $mypath/*/*[.=~ regexp("dnsf.myhost.com")]
但是我不能用简单的 rm
删除这些匹配的行
rm /files/etc/hosts/*/canonical["idm.myhost.com"]
问题是,augtool 只是从节点中删除了规范叶,而 ipaddr 仍然存在。它导致保存功能 returns 错误。
我不想使用 bash 脚本,我尝试用 augeas 本身解决问题。
请帮忙...
P.S。我找不到这个有用工具的完整教程或文档。如果有人可以提出一份好的文件,我将不胜感激。我搜索了所有网络,只找到了几个简单的例子。
您的表达式选择规范节点而不是主机节点。如果要删除宿主节点,需要使用:
rm /files/etc/hosts/*[canonical="idm.myhost.com"]
这将选择 /files/etc/hosts
、 下的任何条目,其 canonical
子节点具有值 idm.myhost.com
.
至于文档,有教程on the Augeas website, as well as some more docs on the Augeas wiki。
还有一个介绍 Augeas 的视频 on Youtube。
我开始了 writing a book some 7 years ago, which can still be found online,但从来没有花时间完成它。
我的 /etc/hosts 看起来像这样:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.13.11 idm.myhost.com
192.168.13.10 dnsf.myhost.com
192.168.13.11 idm.myhost.com
192.168.13.10 dnsf.myhost.com
192.168.13.11 idm.myhost.com
192.168.13.10 dnsf.myhost.com
192.168.13.10 temp1.myhost.com
我可以通过下面的查询来查询重复的行:
print /files/etc/hosts/*/canonical["idm.myhost.com"]
或者使用正则表达式
defvar mypath /files/etc/hosts
print $mypath/*/*[.=~ regexp("dnsf.myhost.com")]
但是我不能用简单的 rm
删除这些匹配的行rm /files/etc/hosts/*/canonical["idm.myhost.com"]
问题是,augtool 只是从节点中删除了规范叶,而 ipaddr 仍然存在。它导致保存功能 returns 错误。 我不想使用 bash 脚本,我尝试用 augeas 本身解决问题。 请帮忙...
P.S。我找不到这个有用工具的完整教程或文档。如果有人可以提出一份好的文件,我将不胜感激。我搜索了所有网络,只找到了几个简单的例子。
您的表达式选择规范节点而不是主机节点。如果要删除宿主节点,需要使用:
rm /files/etc/hosts/*[canonical="idm.myhost.com"]
这将选择 /files/etc/hosts
、 下的任何条目,其 canonical
子节点具有值 idm.myhost.com
.
至于文档,有教程on the Augeas website, as well as some more docs on the Augeas wiki。
还有一个介绍 Augeas 的视频 on Youtube。
我开始了 writing a book some 7 years ago, which can still be found online,但从来没有花时间完成它。