名前が変わるやつの取り込み例
import re
import os
# ファイル名にマッチする正規表現パターンを指定
file_pattern = r'\d{8}[a-zA-Z0-9]+\.txt' # 日付とサーバー名を含むファイル名の正規表現
# カレントディレクトリ内のファイルを走査し、正規表現にマッチするファイルを取得
matching_files = [file for file in os.listdir('.') if re.match(file_pattern, file)]
if matching_files:
# マッチするファイルが存在する場合、最新のファイルを取得
latest_file = max(matching_files, key=lambda x: os.path.getmtime(x))
# 最新のファイルを開いて読み込む
with open(latest_file, 'r') as file:
lines = file.readlines()
# linesを使ってデータの処理を行うことができます
else:
print("マッチするファイルが見つかりませんでした")
特定のコマンドを検索してその後の5行を取り出してみるやつ
import glob
# ファイル名にマッチするパターンを指定
file_pattern = 'TeraTermLog_*' # ファイル名のパターンを設定
# パターンにマッチするファイルの一覧を取得
matching_files = glob.glob(file_pattern)
if matching_files:
# パターンにマッチするファイルが存在する場合、最新のファイルを取得
latest_file = max(matching_files, key=lambda x: os.path.getmtime(x))
# 最新のファイルを開いて読み込む
with open(latest_file, 'r') as file:
lines = file.readlines()
# linesを使ってデータの処理を行うことができます
else:
print("マッチするファイルが見つかりませんでした")
# TeraTermで取得したテキストファイルを開く
with open('teraterm_output.txt', 'r') as file:
lines = file.readlines()
# 特定のコマンドを探す
target_command = "特定のコマンド" # 検索したいコマンドを設定
matching_lines = []
for i, line in enumerate(lines):
if target_command in line:
matching_lines.append(i)
# 特定のコマンドの後ろから5行を抽出
result_lines = []
for index in matching_lines:
for i in range(index + 1, min(index + 6, len(lines))): # コマンドの後ろから5行までを抽出
result_lines.append(lines[i])
# 抽出した行を表示
for line in result_lines:
print(line.strip())