Итак, есть текстовый файл, в котором повторяются блоки вида:
EOD
PROFILE R_Ti_174 TYPE 1
SNAPPING PARAMETERS 5
5494510.000 1084246.625 0 14 2560.31 5855.34 5855.34 5855 I 2250 TrebsTito R_Ti_174
5494309.500 1084098.875 0 15 2476.59 5845.37 5845.37 5845 I 2250 TrebsTito R_Ti_174
5494300.500 1084402.750 1 14 2664.88 5852.30 5852.30 5852 I 2260 TrebsTito R_Ti_174
5494010.500 1084189.000 1 15 2476.50 5837.89 5837.89 5838 I 2260 TrebsTito R_Ti_174
Изменяются в этих блоках лишь записи вида R_Ti_174, различные для каждого блока. Требуется для каждого блока дописать к EOD эту запись вида R_Ti_174.
То есть получиться должно следующее:
EOD R_Ti_174
PROFILE R_Ti_174 TYPE 1
SNAPPING PARAMETERS 5
5494510.000 1084246.625 0 14 2560.31 5855.34 5855.34 5855 I 2250 TrebsTito R_Ti_174
5494309.500 1084098.875 0 15 2476.59 5845.37 5845.37 5845 I 2250 TrebsTito R_Ti_174
5494300.500 1084402.750 1 14 2664.88 5852.30 5852.30 5852 I 2260 TrebsTito R_Ti_174
5494010.500 1084189.000 1 15 2476.50 5837.89 5837.89 5838 I 2260 TrebsTito R_Ti_174
На bash я делал так:
1. ищем первое вхождение EOD$
2. вычленяем из третьей строки после этого вхождения наше значение R_Ti_174
3. делаем замену для первого вхождения EOD$ на EOD R_Ti_174
4. Повторяем операцию, и за счет того, что мы использовали в вхождении $, то обработанный блок уже не вернется во вхождение.
Это работает, но это не элегантно. Хочется элегантно, и в python. Я не прошу эту задачу за меня решать, просто скажите так, на словах, как это сделать красиво?
