Сканирование данных из списка строк в Linux - PullRequest
0 голосов
/ 28 апреля 2018

У меня есть два файла:

  • file_a = список строк
  • file_b = data {или file_b может быть каталогом, в котором находятся все эти файлы}

Как лучше всего выполнить следующую задачу:

{сохранить вывод} отсканировать и отобразить все строки, найденные в file_b, содержащие строку @ less 1, найденную в file_a.

например, file_a содержит следующие строки (в моем случае список очень длинный)

01101

11001

11101

file_b

01101:11100:10001

11111:11100:10001

01111:11100:11001

11101:11111:11110

на основе этого примера строка 1, строка 3 и строка 4 содержат строки

1 Ответ

0 голосов
/ 28 апреля 2018

Вы можете прочитать строки обоих файлов с помощью метода readlines() дескриптора файла из метода open и выполнить итерацию по каждой строке, чтобы определить, пересекаются ли строки file_a со строками в line_b. Поскольку вы не предоставили нам больше информации о формате ваших файлов и о том, что вы уже сделали, я просто добавлю псевдокод.

with open('file_a','r') as f1:
    strings=f1.readlines()  #note I suppose each string is on one line

with open('file_b','r') as f2:
    lines=f2.readlines()

# iterate to find intersection of strings in line
for line in lines:
    tmp=line.strip()
    print list(set(strings) & set(line))

см. Найти пересечение двух вложенных списков? для пересечения 2 списков

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...