Hi Samar >From memory, positive look behind is limited, so use look ahead. This one works for me:
*Search*: (.+?\t.+?)\t(.+)\r(?=\1) *Replace*: \1\t\2\r_\3 On Fri, 13 Aug 2021 at 10:37, samar <[email protected]> wrote: > I'm struggling with a Grep Find/Replace action to apply to a file with > sorted lines, each having three units separated by tabs: > > first1 second11 third111 > first1 second11 third112 > first1 second11 third113 > first1 second11 third114 > first1 second11 third115 > first2 second21 third211 > first2 second22 third221 > first2 second23 third231 > first3 second31 third311 > first3 second31 third312 > first3 second31 third313 > first3 second31 third314 > first3 second32 third321 > first4 second41 third411 > first4 second41 third412 > first4 second42 third421 > first4 second42 third422 > first5 second51 third511 > first5 second52 third521 > first5 second52 third522 > first5 second52 third523 > first5 second53 third531 > ... > > > Now I need to insert an underscore at the beginning of each line IF the > "first" and "second" fields are identical to the respective fields in its > previous line. The result should be this: > > first1 second11 third111 > _first1 second11 third112 > _first1 second11 third113 > _first1 second11 third114 > _first1 second11 third115 > first2 second21 third211 > first2 second22 third221 > first2 second23 third231 > first3 second31 third311 > _first3 second31 third312 > _first3 second31 third313 > _first3 second31 third314 > first3 second32 third321 > first4 second41 third411 > _first4 second41 third412 > first4 second42 third421 > _first4 second42 third422 > first5 second51 third511 > first5 second52 third521 > _first5 second52 third522 > _first5 second52 third523 > first5 second53 third531 > ... > > I presume this could be achieved by using positive look-behind assertion, > but all my attempts have failed so far. > > Any help greatly is appreciated! > > samar > > -- > This is the BBEdit Talk public discussion group. If you have a feature > request or need technical support, please email "[email protected]" > rather than posting here. Follow @bbedit on Twitter: < > https://twitter.com/bbedit> > --- > You received this message because you are subscribed to the Google Groups > "BBEdit Talk" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/bbedit/0596413f-15bb-62f9-6cb7-47ad2bab4e08%40bluewin.ch > <https://groups.google.com/d/msgid/bbedit/0596413f-15bb-62f9-6cb7-47ad2bab4e08%40bluewin.ch?utm_medium=email&utm_source=footer> > . > -- Kaveh Bazargan PhD Director River Valley Technologies <http://rivervalleytechnologies.com/> ● Twitter <https://twitter.com/rivervalley1000> ● LinkedIn <https://www.linkedin.com/in/bazargankaveh/> ● ORCID <https://orcid.org/0000-0002-1414-9098> *Accelerating the Communication of Research* -- This is the BBEdit Talk public discussion group. If you have a feature request or need technical support, please email "[email protected]" rather than posting here. Follow @bbedit on Twitter: <https://twitter.com/bbedit> --- You received this message because you are subscribed to the Google Groups "BBEdit Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/bbedit/CAJ2R9pgT6UO%3D4mx-WqN5%2Bv88F1XwPLoS-bXuPGdwuGiKqre%2BOQ%40mail.gmail.com.
