Я хотел бы удалить строки в файле, которые встречаются более одного раза, но хотелось бы сохранить определенные.Как мне это сделать?
Это часть моего файла, которую я хотел бы изменить:
§M: 1, K: 2
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Fastor2D, 0.00, 88378.00, 23272.00, 646.00, 1525.00, 241.00, 17447.00, 1, 0.26, 4.71, 5.07
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Fastor2D, 0.00, 32083.00, 17690.00, 148.00, 28.00, 116.00, 6437.00, 1, 0.55, 25.96, 4.98
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Fastor2D, 0.00, 31342.00, 17690.00, 161.00, 23.00, 100.00, 6125.00, 1, 0.56, 36.46, 5.12
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Blitz2D, 0.00, 33418.00, 17933.00, 168.00, 83.00, 109.00, 6473.00, 1, 0.54, 12.50, 5.16
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
XTensor2D, 0.00, 176180.00, 60830.00, 1586.00, 3040.00, 546.00, 36306.00, 1, 0.35, 1.21, 4.85
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
XTensor2D, 0.00, 39599.00, 21641.00, 258.00, 41.00, 169.00, 7962.00, 1, 0.55, 4.21, 4.97
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
XTensor2D, 0.00, 36483.00, 21641.00, 261.00, 5.00, 110.00, 7323.00, 1, 0.59, 5.84, 4.98
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Eigen2D, 0.00, 47271.00, 24427.00, 296.00, 298.00, 143.00, 9354.00, 1, 0.52, 2.81, 5.05
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Eigen2D, 0.00, 31979.00, 18101.00, 166.00, 19.00, 100.00, 6313.00, 1, 0.57, 16.23, 5.07
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Eigen2D, 0.00, 32383.00, 18101.00, 175.00, 38.00, 96.00, 6513.00, 1, 0.56, 18.09, 4.97
§M: 2, K: 2
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Fastor2D, 0.00, 31548.00, 17689.00, 149.00, 20.00, 101.00, 6112.00, 1, 0.56, 33.77, 5.16
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Fastor2D, 0.00, 31404.00, 17689.00, 161.00, 0.00, 95.00, 6105.00, 1, 0.56, 41.82, 5.14
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Fastor2D, 0.00, 31060.00, 17689.00, 167.00, 8.00, 93.00, 6145.00, 1, 0.57, 38.41, 5.05
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Blitz2D, 0.00, 32130.00, 18122.00, 155.00, 47.00, 113.00, 6359.00, 1, 0.56, 16.87, 5.05
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
XTensor2D, 0.00, 42370.00, 22410.00, 245.00, 105.00, 193.00, 8393.00, 1, 0.53, 3.53, 5.05
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
XTensor2D, 0.00, 37526.00, 21853.00, 264.00, 26.00, 119.00, 7474.00, 1, 0.58, 5.25, 5.02
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
XTensor2D, 0.00, 37091.00, 21853.00, 247.00, 22.00, 107.00, 7377.00, 1, 0.59, 5.74, 5.03
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Eigen2D, 0.00, 55863.00, 25323.00, 321.00, 434.00, 166.00, 11266.00, 1, 0.45, 2.17, 4.96
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Eigen2D, 0.00, 34626.00, 18984.00, 198.00, 47.00, 111.00, 6661.00, 1, 0.55, 9.93, 5.20
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Eigen2D, 0.00, 32862.00, 18984.00, 191.00, 17.00, 97.00, 6572.00, 1, 0.58, 11.99, 5.00
Этот шаблон продолжается.Я хотел бы, чтобы строка name, ...
оставалась после каждого §M: *,K:*
, но после этого она удалялась до тех пор, пока шаблон 2 снова не появится.
В конце концов, он должен выглядеть примерно так:
§M: 1, K: 2
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Fastor2D, 0.00, 88378.00, 23272.00, 646.00, 1525.00, 241.00, 17447.00, 1, 0.26, 4.71, 5.07
Fastor2D, 0.00, 32083.00, 17690.00, 148.00, 28.00, 116.00, 6437.00, 1, 0.55, 25.96, 4.98
Fastor2D, 0.00, 31342.00, 17690.00, 161.00, 23.00, 100.00, 6125.00, 1, 0.56, 36.46, 5.12
Blitz2D, 0.00, 33418.00, 17933.00, 168.00, 83.00, 109.00, 6473.00, 1, 0.54, 12.50, 5.16
XTensor2D, 0.00, 176180.00, 60830.00, 1586.00, 3040.00, 546.00, 36306.00, 1, 0.35, 1.21, 4.85
XTensor2D, 0.00, 39599.00, 21641.00, 258.00, 41.00, 169.00, 7962.00, 1, 0.55, 4.21, 4.97
XTensor2D, 0.00, 36483.00, 21641.00, 261.00, 5.00, 110.00, 7323.00, 1, 0.59, 5.84, 4.98
Eigen2D, 0.00, 47271.00, 24427.00, 296.00, 298.00, 143.00, 9354.00, 1, 0.52, 2.81, 5.05
Eigen2D, 0.00, 31979.00, 18101.00, 166.00, 19.00, 100.00, 6313.00, 1, 0.57, 16.23, 5.07
Eigen2D, 0.00, 32383.00, 18101.00, 175.00, 38.00, 96.00, 6513.00, 1, 0.56, 18.09, 4.97
§M: 2, K: 2
name, time, cycle, instr, L1-miss, LLC-miss, br-miss, task, scale, IPC, CPU, GHz
Fastor2D, 0.00, 31548.00, 17689.00, 149.00, 20.00, 101.00, 6112.00, 1, 0.56, 33.77, 5.16
Fastor2D, 0.00, 31404.00, 17689.00, 161.00, 0.00, 95.00, 6105.00, 1, 0.56, 41.82, 5.14
Fastor2D, 0.00, 31060.00, 17689.00, 167.00, 8.00, 93.00, 6145.00, 1, 0.57, 38.41, 5.05
Blitz2D, 0.00, 32130.00, 18122.00, 155.00, 47.00, 113.00, 6359.00, 1, 0.56, 16.87, 5.05
XTensor2D, 0.00, 42370.00, 22410.00, 245.00, 105.00, 193.00, 8393.00, 1, 0.53, 3.53, 5.05
XTensor2D, 0.00, 37526.00, 21853.00, 264.00, 26.00, 119.00, 7474.00, 1, 0.58, 5.25, 5.02
XTensor2D, 0.00, 37091.00, 21853.00, 247.00, 22.00, 107.00, 7377.00, 1, 0.59, 5.74, 5.03
Eigen2D, 0.00, 55863.00, 25323.00, 321.00, 434.00, 166.00, 11266.00, 1, 0.45, 2.17, 4.96
Eigen2D, 0.00, 34626.00, 18984.00, 198.00, 47.00, 111.00, 6661.00, 1, 0.55, 9.93, 5.20
Eigen2D, 0.00, 32862.00, 18984.00, 191.00, 17.00, 97.00, 6572.00, 1, 0.58, 11.99, 5.00
Есть ли формула sed для этого или один в awk?Пожалуйста, возможно, объясните, что делают ваши строки, я хотел бы понять это.Заранее спасибо