Раньше я попросил некоторую помощь для удаления и замены содержимого файла. С помощью Питера и примера, что проблема была решена (See this post). Однако он создал еще один, этот вопрос связан с удалением строк.Удаление строк между двумя примерами интереса внутри файла в tcl
Так вот вопрос, я могу удалить строки для каждого экземпляра Prefix_1, который появляется в файле.
Однако существуют линии между двумя экземплярами, которые пропускаются (поскольку строка не начинается с Prefix_1), поэтому остается в файле.
Я знаю, что строка начинается с префикса_1, за которой следует точка, а затем имя переменной и заканчивается либо пробелом, либо знаком равенства или двоеточия.
Каждая строка, которая заканчивается двоеточием, имеет связанную с ней таблицу.
Я бы выделил два класса строк, один из которых заканчивается пробелом и знаком равенства, а другой - с двоеточием. Затем, когда обнаруживается двоеточие, удаляется вся строка до обнаружения следующего экземпляра Prefix_1?
Prefix_1.Var1 = -2
Prefix_1.Var2 = 1
Prefix_1.Var3:
1.1 1.3 1.8 15 1.9 0.1 16 71 31 16 12 1 881 199 19 100 1000 1005 1005 1005
Prefix_1.Var4 = 1
Prefix_1.Var5:
40 50 75 100 150
Prefix_1.Var6:
4
7
15
25
35
45
Prefix_1.Var7:
#TABLE 30 2 5 6
70 70 70 70 70 100 100
81 80 80 100 100 81 80
80 100 100 81 80 80 100
100 82 81 81 100 100 87
87 87
Prefix_1.Var8 = 1
Prefix_1.Var9 = 65
Prefix_1.Var10:
255 255 255 255 255 255 255 255 255 255
Prefix_1.Var11:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 6 1 2 2 0 0 0 0 0 0 0 0
Prefix_1.Var12 = 30
После того как я удалить все строки с Prefix_1, я до сих пор остались эти строки, которые попадают между двумя экземплярами Prefix_1.
Я хочу их удалить.
1.1 1.3 1.8 15 1.9 0.1 16 71 31 16 12 1 881 199 19 100 1000 1005 1005 1005
40 50 75 100 150
4
7
15
25
35
45
#TABLE 30 2 5 6
70 70 70 70 70 100 100
81 80 80 100 100 81 80
80 100 100 81 80 80 100
100 82 81 81 100 100 87
87 87
255 255 255 255 255 255 255 255 255 255
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 6 1 2 2 0 0 0 0 0 0 0 0
Общая стратегия: Разделить файл на куски, где каждый кусок - это то, что будет сохранено или удалено. Затем для каждого куска решает, сохранить ли его. Стратегия chunking просто не «разделена на отдельные строки» ... –
так что вы, помимо regsub 2 до 999, хотите удалить все данные prefix1, я прав? – Rilwan
Я добавил пример до и после обработки файлов – Anju