У меня есть текст вроде:
[100 ps] bar
[139 ps] foo de fa fa
[145 ps] foo de fa fa
[147 ps] foo de fa fa
[149 ps] le pamplemouse
[150 ps] le pamplemouse
[177 ps] le pomme de terre
[178 ps] le pomme de terre
В awk я хочу отфильтровать все строки, где правая половина строки соответствует правой половине предыдущей строки. то есть строки uniquify, как будто нет метки времени. Так что я бы nix:
[100 ps] bar
[139 ps] foo de fa fa
[145 ps] foo de fa fa <-- Nuked
[147 ps] foo de fa fa <-- Nuked
[149 ps] le pamplemouse
[150 ps] le pamplemouse <-- Nuked
[177 ps] le pomme de terre
[178 ps] le pomme de terre <-- Nuked</p>
Чтобы дать мне вывод:
[100 ps] bar
[139 ps] foo de fa fa
[149 ps] le pamplemouse
[177 ps] le pomme de terre
Как это можно сделать?
EDIT:
Извините, я был не так ясен, как следовало бы. Левая половина строки - это отметка времени с постоянным количеством токенов, но в правой половине будет много токенов. В общем, я могу создать произвольные группировки памяти, такие как:
(regex1)(regex2)
Затем сравните $2
, где $2
- это часть строки, которая соответствует regex2
?