2013-04-29 88 views
0

我有一些代码,查找网络脚本文件如:的ifcfg-eth0的等的代码目前使用在Augeas可用的匹配功能以获得在该目录,例如所有文件:匹配特定的文件名

augeas.match("/files/etc/sysconfig/network-scripts/*") 

但是这段代码是匹配ifcfg-eth0.bak这样的文件,它不是我需要的有效文件。我只想匹配从eth0到eth7的网络脚本(并且没有备份文件等)。什么是仅匹配正确文件的好方法?

+0

这取决于什么是你需要一个有效的文件。 – 2013-04-29 22:55:18

回答

0

如果你确定你不想要任何有扩展名的文件,你可以试试这个。

augeas.match( '等/ SYSCONFIG /网络的脚本/ * [正则表达式( “[\ W-]”)]')

Editied到如下所述添加引号。

+0

由于匹配函数只需要1个字符串参数,这是行不通的。你认为这可以通过某种方式进行修改以达到参数要求吗? – KT100 2013-04-29 23:05:49

+0

不,有什么不起作用的是它缺少括号中的引号。其余的似乎很好。 – 2013-04-30 06:59:44

0

我可以使用下面的代码,以满足我的要求:

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