Multi line regex for search and replace

I have text file like below:

a.txt

Server=abc
Run=1
Time=120.123
Tables=10
Sessions=16
Time=380.123
Version=1.1
Jobs=5

Server=abc
Run=2
Time=160.123
Tables=15
Sessions=16
Time=400.258
Version=2.0
Jobs=5

Server=abc
Run=3
Time=180.123
Tables=20
Sessions=16
Time=450.889
Version=2.1
Jobs=5

I am trying to replace

Time=450.889
Version=2.1

with

EndTime=450.889
Version=2.1

I was trying like

perl -pi -e 's/^Time=\(.*\)\Version=\(.*\)/EndTime=\1\nVersion=\2/' a.txt

But it doesn't seem to work.

Can you guys help me out.

Thanks

Few corrections:

perl -i -0pe 's/^Time=(.*)\nVersion=(.*)/EndTime=$1\nVersion=$2/mg' a.txt

Perl is not sed. You don't need to escape everything... :wink:

1 Like