2016-10-11 21 views
0

私はファイルを持っているがフォーマット以下でabc.txtを言う:良い方法がありますか?

+ : @group2 : ALL 
+ : @grp_xvz : ALL 
+ : @group_abc_app: ALL 
+ : @group_1_abc : ALL 
+ : @group_2_xyz : ALL 
+ : @[email protected]@nmo_hosts : ALL 

私は特定のエントリをgrepとabc.txtの場合、ファイルサイズを確認する必要があります> bashで220

+ : @group_2_xyz : ALL or 
+ : @[email protected]@nmo_hosts : ALL 
and filesize of abc.txt > 220 

私はこのように行うことができます

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

おかげPonnarasu。 – bob

答えて

0

をこのお試しください:?。

をクリーンアップに書式を支援するための
import os, re 

match = re.search(
    r'^\+ *: *(@group_2_xyz|@[email protected]@nmo_hosts) *: *ALL$', 
    open('abc.txt').read(), re.M 
    ) 

print(os.stat('abc.txt').st_size > 220, match is not None) 
+0

グレートおかげで、それは!! – bob

+0

@bobを働いた感謝しています。あなたは答えが有用であることが判明した場合、(すなわち目盛りマーカーをクリックして)、それを受け入れるご検討ください。 – ekhumoro

+0

はあなたにEkhumoroをありがとう!申し訳ありません、私はここで新しいです、調整には時間がかかります。 – bob

関連する問題