我有一些代码,寻找net脚本文件,例如:ifcfg-eth0等。该代码目前使用Augeas中可用的match函数来获取目录中的所有文件,例如:
augeas.match("/files/etc/sysconfig/network-scripts/*")
然而,这段代码是匹配文件,如ifcfg-eth0.bak,这不是一个有效的文件,为我的需要。我只想匹配从eth0到eth7的网络脚本(没有备份文件等)。只匹配正确文件的好方法是什么?
我可以使用以下代码来满足我的需求:
files = []
for i in range(8):
try:
filename = augeas.match('/files/etc/sysconfig/network-scripts/ifcfg-eth' + str(i))[0]
files.append(filename)
except:
continue
print files
如果你绝对确定你不想要任何有和扩展名的文件,你可以试试这个
augeas.match('等/sysconfig network-scripts/* [regexp("[ w -]")]")
修改,添加如下引号