スクリプトを実行しているときに、正規表現を使用してログファイルからデータを取得するPythonスクリプトがあります。エラーが発生しました。sre_constants.error: unbalanced parenthesis
。python regexのアンバランス括弧エラー
以下は、私が正規表現をしようとしているスクリプトです。
#!/grid/common/pkgs/python/v2.7.10/bin/python
import sys
import re
var1 = ''
var2 = ''
Html_file= open("/home/karn/healthCheck_result.html","w")
html_str = """
<table border=1>
<tr>
<th bgcolor=fe9a2e>Hostname</th>
<th bgcolor=fe9a2e>Service</th>
</tr>
"""
Html_file.write(html_str)
fh=open(sys.argv[1],"r")
for line in fh:
pat_match=re.match("^\s+\HostName:\s+(.*?)\.*", line)
pat_match1=re.match("^\s+(.*?\)Service Status:\s+(.*Not.*?)\.*", line)
if pat_match:
Html_file.write("""<TR><TD bgcolor=fe9a2e>""" + pat_match.group(1) + """</TD>\n""")
elif pat_match1:
Html_file.write("""<TR><TD><TD>""" + pat_match1.group(2) + """</TD></TD></TR>\n""")
私のログファイルには、以下のサンプルデータを持っている:私は「しない」の文字列と、それはその後、行全体が
Service Status
から開始することを印刷することを取得する場合を探しています。
[analytics1] sudo: /hm/it_script/DC/scripts/mainRun.py
[analytics1] out: sudo password:
[analytics1] out: HostName: analytics1
[analytics1] out: Service Status: NTP Service is Running On the host analytics1
[analytics1] out: Service Status: NSCD Service is Not Running On the host analytics1
[analytics1] out: Service Status: Sendmail Service is Running On the host analytics1
[analytics1] out: Service Status: Altris Service is Running On the host analytics1
[analytics1] out: Service Status: Automount Service is Running On the host analytics1
[analytics1] out: Service Status: Filesystem For Root(/) is more than 90% On the Host analytics1
[analytics1] out: Service Status: Filesystem For /var is more than 90% On the Host analytics1
あなたはこの行...ここ
SpoonMeiser ....タイプミスキャッチに感謝しかし、私は必要なデータを取得できませんでしたよ、それはちょうど$より..headerのみ 'bashの-4.1を印刷しhealthCheck_result.html <テーブルのボーダー= 1>
SpoonMeiser、あなたの答えは正しい..です 私たちは、ホスト名は一度だけ、左手にpannelledとその下にあります得ることができますそのホストのためのサービスのサービスステータスame。 私はhtmlファイルを持っていますが、ここに添付することはできません。 – krock1516
私はそれがここに答えるための範囲外だと思います。多分新しい質問をするでしょうか? – SpoonMeiser