I need to extract a string contained in a column of my csv.

My file is like this:

```
col1;col2;col3;cleavage=10-11;
col1;col2;col3;cleavage=1-2;
col1;col2;col3;cleavage=100-101;
col1;col2;col3;none;

```

So, the delimiter of my file is ";" but in column 4 I want to extract the string between "cleavage=" and a "-". What I did was to print the 2 chars after "cleavage=", but it's not always 2 chars. 

I did it this way:

```
awk -F "\"*;\"*" '{if (match($4,"cleavage=")) print $1";"$2";"$3";"substr($4,RSTART+9,2); else print $1";"$2";"$3";0"}' file

```

I figured out that the following should be the correct command, but how should I integrate it in the previous one?

```
awk "/Pattern1/,/Pattern2/ { print }" inputFile

```

Thanks for help! :)

EDIT:
My actual output is 

```
col1;col2;col3;10;
col1;col2;col3;1-;
col1;col2;col3;10;
col1;col2;col3;0;

```

But what I would like is:

```
col1;col2;col3;10;
col1;col2;col3;1;
col1;col2;col3;100;
col1;col2;col3;0;

```