我的文件说abc.txt
格式如下:
+ : @group2 : ALL
+ : @grp_xvz : ALL
+ : @group_abc_app: ALL
+ : @group_1_abc : ALL
+ : @group_2_xyz : ALL
+ : @group_3_def@@nmo_hosts : ALL
我需要grep查看特定条目并检查文件大小是否为abc.txt> 220
+ : @group_2_xyz : ALL or
+ : @group_3_def@@nmo_hosts : ALL
and filesize of abc.txt > 220
在bash中,我可以这样做
if grep --quiet "+[[:blank:]]:[[:blank:]]@group_2_xyz[[:blank:]]*:[[:blank:]]ALL" abc.txt
||
grep --quiet +[[:blank:]]:[[:blank:]]@group_3_def[@A-Za-z0-9_][[:blank:]]:[[:blank:]] abc.txt
and
[ du -sb abc.txt | awk '{print $1}' -gt 220 ]; then
..do..something
如何在python中做同样的事情?我试图使用" re.findall'但不确定我是否可以在那里使用多个条件?或者如果有人能提出最好的建议?
re.findall(r'+\s*:\s*@group_2_xyz\s*:\s*ALL', open('abc.txt,'r').read())
提前致谢。
答案 0 :(得分:0)
试试这个:
import os, re
match = re.search(
r'^\+ *: *(@group_2_xyz|@group_3_def@@nmo_hosts) *: *ALL$',
open('abc.txt').read(), re.M
)
print(os.stat('abc.txt').st_size > 220, match is not None)