Deleting a material while "redirecting" all places it's used to a new one?

So i have a large amount of objects with multiple sub materials in my scene.
However over the duration of the project during imports and other events i have ended up with a lot of the same material being used in different sets of assets in my scene.

There are about 5 or 6 “Steelplate” materials, and about 4 “wooden beams” materials etc. Though these are spread over about 30 or 40 models that each use multiple material id’s.

So is there a way that i can delete all but one material of a certain type and have the objects originally using the deleted ones refer to a new material of my choosing?

Replace references do just that.