По сути, вам нужен список всего, что вы рассматриваете как «ДВУ». Их существует конечное число. Затем для каждого URL вы увидите, соответствует ли что-либо в вашем списке этому URL, и если это так, распечатайте его. Причина, по которой вам нужно составить список самостоятельно, заключается в том, что .co.uk не является TLD. .uk - домен верхнего уровня, а .co - поддомен.
Или вы можете создать очень длинное регулярное выражение (например, распаковав .co.uk, .com, .ca, .biz):
$ perl -ne 'next unless /^http:\/\/[^ \/?]+(\.com|\.co\.uk|\.ca|\.biz)/; print $1, "\n"'