Я хотел бы попросить о помощи, так как это мне неизвестно. Я пытаюсь выполнить поиск и заменить 2 файла. Пока что я написал код, который изолирует все указанные c строки TerminationDate * от первого файла. Но искать его замену в другом файле и возвращать строку, расположенную на 2 строки ниже первого совпадения, для меня - черная дыра.
Файлы, с которыми нужно работать:
- содержащие отфильтрованные данные для дальнейшей обработки путем поиска строк в этом файле и замены их из 2-го файла;
- огромный файл для поиска строк из 1-го файла;
- содержащий отфильтрованные строки только из 1-й файл, отсортированный в один столбец;
Цель состоит в том, чтобы строки из 3-го файла были заменены из 2-го и перезаписали 1-й файл с этими новыми данными. Так, например, эта строка TerminationDate1 будет заменена датой 2015/05/25 в файле 1.
Первый файл выглядит так:
config vdom
edit vdom_1
config firewall policy
edit 123
set uuid xxxxxxxxxxxxxxx
set srcintf "xxxxx"
set dstintf "xxxxx"
set srcaddr "xxxxx"
set dstaddr "xxxxx"
set action accept
set schedule "TerminationDate1" <---
set service "xxx"
set logtraffic all
set comments "xxxxx"
and so on
часть 2-го файла, как это :
config firewall schedule onetime
edit "TerminationDate1"
set start 12:01 2014/04/24
set end 12:01 2015/05/25
set color 0
set expiration-days 4
and so on
и последний, который я создал как временный, содержащий пока один столбец с отфильтрованными результатами. Возможно, второй столбец может содержать соответствующие строки из второго файла.
TerminationDate1
TerminationDate2
TerminationDate3
and so on