I recently worked on a datacenter move including migration of internal and external DNS servers.
the old datacenter had a history of around 20 years.
Unfortunately back in the days it was decided to use the same domain for internal and external records, but split it so that there is two zone files. One holding internal, the other one public records. Each zone file had around 1800 single records. A total mess!
We decided to move for DNS to AWS Route53, so a merge was necessary.
During that journey I found two really helpful tools.
One is dns_compare which helps you checking a zone file against a DNS server. E.g. internal file against external server.
The second tool is cli53, which is literally a command line tool that lets you manipulate and import/export DNS records into Route53.
Unfortunately the import within the AWS interface is only available for the initial import and only supports a maximum of 1000 records. cli53 helps with this as well.