Описание тега fancontrol
Вы можете объяснить, что вы подразумеваете под второй меняет издание? Я уверен, что правила точно такие же по функциональности, только с более четкими формулировками. Поскольку этот вопрос о том, потеряла и время и пространство, возможно, название может быть изменено, чтобы отразить это? Или вопрос можно сформулировать в более общем виде, если существуют и другие ситуации, которые также могут привести к вам потерять свою очередь. Я слышал, что студенты критикуют учителей, которые либо повторяют те же экзаменационные работы каждый год или вопросов, которые оценивают запоминанию, что вызывает отрицательную корреляцию. Я не с одной из них классы. Если вам необходимо уточнить какие-то детали, использовать комментарии к вопросу. Ответы должны давать ответы, не порождают дополнительные вопросы.
Я включил два (несколько разных) скрипты, которые должны делать то, что вы хотите: скрипт Python и bash-скрипт.
Решение На Python
#!/usr/Бен/ОКР питон3
# -*- кодировка: UTF-8 -*-
"""prefix_join.py"""
импорт Сыс
input_1 = Сыс.аргумент argv[1]
input_2 = Сыс.из argv[2]
# Инициализировать список в магазин префиксы, как они происходят
prefix_list = список()
# Разбор первого входного файла
data_1 = дикт()
с открытыми(input_1, "р") как file_1:
для линии в file_1:
# Удалить конечные и начальные пробелы
линия = линия.полосы()
# Разделение строки по первому символу
префикс, сентября, суффикс = линия.раздела(" ")
# Добавить префикс списка префиксов
если префикс не в prefix_list:
prefix_list.добавить(префикс)
# Добавить префикс к первому словаря данных
если префикс не в data_1:
data_1[префикс] = список()
# Добавить суффикс в данных словарь
data_1[префикс].добавить(суффикс)
# Разбираем второй входной файл
data_2 = дикт()
с открытыми(input_2, "р") как file_2:
для линии в file_2:
# Удалить конечные и начальные пробелы
линия = линия.полосы()
# Разделение строки по первому символу
префикс, сентября, суффикс = линия.раздела(" ")
# Добавить префикс списка префиксов
если префикс не в prefix_list:
prefix_list.добавить(префикс)
# Добавить префикс к первому словаря данных
если префикс не в data_2:
data_2[префикс] = список()
# Добавить суффикс в данных словарь
data_2[префикс].добавить(суффикс)
Выход # присоединенные данные
для префикса в prefix_list:
для значение_1 в data_1.вам(префикс, список()):
для значение_2 в data_2.вам(префикс, список()):
output_line = "{} {} х {}".формат(префикс, значение_1, значение_2)
печати(output_line)
Вы бы запустить его как это:
питон file-1.txt prefix_join.py file-2.txt
На вашем примере данных, он генерирует следующий вывод:
22:50:48] Return_M Х <0> х led_required
22:50:48] Return_M Х <0> х start_rules
22:50:48] Return_M Х <0> х leadstart
22:50:49] Return_A Х <0> х asynchronous_start
22:50:49] Return_A Х <0> х controldown
22:50:49] Return_A Х <0> х select_set(3)
22:50:49] Return_A Х <0> х limiting_rules
22:50:50] Return_F Х <0> х stock_manager
22:50:50] Return_F Х <0> х led_blink
22:50:50] Return_F Х <0> х start_required
22:50:51] Return_K Х <0> х control_down
22:50:51] Return_K Х <0> х select_set(3)
22:50:51] Return_K Х <0> х start_rules
22:50:52] Return_Y Х <0> х stock_manager
22:50:52] Return_Y Х <0> х blink_led
Решение Баш
#!/usr/Бен/ОКР Баш
# prefix-join.sh
# Получить входные файлы в качестве аргументов командной строки
input_file_1="$1"
input_file_2="$2"
# Установить внутренний разделитель полей для перехода на новую строку (не включать пробелы или знаки табуляции)
Компании IFS=$'\п'
# Пройдемся по линии первого входного файла
для line_1 в $(кошка "${input_file_1}"); сделать
# Разделить строку на первое место
prefix_1="${line_1/ */}";
suffix_1="${line_1#*] }";
# Пройдемся по линиям второго входного файла
для line_2 в $(кошка "${input_file_2}"); сделать
# Разделить строку на первое место
prefix_2="${line_2/ */}";
suffix_2="${line_2#*] }";
# Если префиксы согласитесь, совместить суффиксы и выводить результат
если [[ "${prefix_1}" = "${prefix_2}" ]]; затем
Эхо "${prefix_1} ${suffix_1} х ${suffix_2}"
интернет
сделано
сделано
Вы бы запустить его как это:
Баш prefix-join.sh file-1.txt file-2.txt
На ваш образец данных, это дает такой же результат, как скрипт Python.