/ / пошук блоку всередині текстового файлу - python, bash

пошук блоку всередині текстового файлу - python, bash

У мене є текстовий файл, який має блоки

dir1/dir2/dir3/name_run_number1:
line1_run_number1_part1
line2_run_number1_part2
line3_run_number1_part3...

Кожен блок розділений порожнім рядком ів "заголовку" кожного з них є ":", в той час як кожен блок має унікальний "number1" після суфікса "run_", який також присутній у рядках всередині блоку

Що я хочу зробити для кожного блоку, витягніть"number1", як показано в першому рядку, а потім для ліній нижче підраховується від 1-20 і дає повідомлення, якщо відсутня лінія "partX". Будь-який bash або python буде чудово

Дякую

Відповіді:

1 для відповіді № 1

У Python ви можете написати програму для виконання цієї вимоги.

Спробуйте наступне:

def find_text(text):
"""Find some text inside a file."""
match_lst = []
with open("myfile.txt", "w") as f:
for line in f.readline():
if line == text:
match_lst.append(line)
return match_lst

Це дасть вам список Python, що містить всі матчі.

Я також рекомендую зробити цей пошук за допомогою регулярного виразу, якщо ви точно знаєте вміст, який ви шукаєте. Це не зрозуміло в питанні.