Я новичок в python, и я пытаюсь написать скрипт для циклического прохождения всех файлов .txt в моем / home каталоге и перебора строк в каждом файле .txt и посмотреть, могу ли я найти совпадение, если оно делает, он должен перейти к следующему файлу. Если он не находит совпадения во всем файле, сообщите об этом.
Код, который у меня есть:
strname = "ntpq -p"
for file in glob.glob("/home/xxx/*.txt"):
with open(file, 'rb') as f:
iFoundTheLine = 0
for line in f:
line = line.rstrip()
id = line.split(b"|")[0]
if strname in line:
iFoundTheLine = 1
print ("%s is ok" % id)
break
if iFoundTheLine == 0:
print ("Problem with NTP%s" % id)
Результат, который я получил:
srv29393 в порядке
Проблема с NTP
srv29494 в порядке
Проблема с NTP
srv29399 в порядке
srv29493 в порядке
Ожидаемый результат, который я ищу:
srv29393 в порядке
Проблема с NTP srv1234
srv29494 в порядке
Проблема с NTP srv2345
srv29399 в порядке
srv29493 в порядке
образцы строк:
srv29393 | 23.06.18 | 05: 32: 02 | ps -eo user, pid, ppid, start, etimes, cmd | egrep -v [\ w <|> nobody 22972 21597 03:06:12 8767 (dnsserver)
srv29393 | 23.06.18 | 05: 32: 02 | 1529746322 | ps -eo user, pid, ppid, start, etimes, cmd | egrep -v [\ w <|> nobody 22973 21597 03:06:12 8767 (dnsserver)
srv29393 | 23.06.18 | 05: 32: 02 | ps -eo user, pid, ppid, start, etimes, cmd | egrep -v [\ w <|> nobody 22974 21597 03:06:12 8767 (dnsserver)
srv29393 | 23.06.18 | 05: 32: 02 | 1529746322 | / usr / sbin / ntpq -p <|> * 1.1.1.11 11.11.11.11 3 u 1055 1024 377 719,042 -0,625 0,016
srv29393 | 23.06.18 | 05: 32: 02 | 1529746322 | / usr / sbin / ntpq -p <|> +2.2.2.11 12.12.12.11 3 u 1049 1024 377 824,784 0,707 0,121
Пропущен "id" для тех, у кого проблема с NTP. Может ли кто-нибудь помочь / посоветовать?