disable a default route that have no routing-mark

hi i have a piece of code like this :

/ip route disable [find dst-address=0.0.0.0/0 gateway=2.2.2.2]

but i dont want it to match the ones that are in a separate routing table. it ends up disabling all default route with 2.2.2.2 as gateway including the ones on different routing-mark/table.

what i have tried without success :

/ip route disable [find dst-address=0.0.0.0/0 gateway=2.2.2.2 routing-mark=""]
/ip route disable [find dst-address=0.0.0.0/0 gateway=2.2.2.2 routing-mark="main"]

please advise,
thanks.

This script should disable any route with a routing mark of your choice.

Just change the $routing-mark$ parameter.

[/ip route disable [/ip route find where dst-address=0.0.0.0/0 gateway=2.2.2.2 routing-mark="main"]];
[/ip route disable [/ip route find where dst-address=0.0.0.0/0 gateway=2.2.2.2 routing-mark~""]];

Note: the second line disables ALL routes with given dst-address and gateway.

You can try to use !routing-mark
/ip route disable [find dst-address=0.0.0.0/0 gateway=2.2.2.2 !routing-mark]