Зависит от размера файла. Если строк не очень много и они поместятся в оперативу то всё можно релать в 3 строки
lines = open(file_path).read().split('\n')
unique_lines = list(set([x.lower() for x in lines]))
open(file_path2, 'w').write('\n'.join(unique_lines))
В этом случае в новый файл сохранятся все строки в нижнем регистре.
Если надо сохранить регистр первой найденной комбинации то можно сделать хитрей
from fnmatch import fnmatch
lines = [line.strip() for line in open(file_path).readlines()]
unique_lines = []
[unique_lines.append(item) for item in lines if not any([fnmatch(item, x) for x in unique_lines])]
open(file_path2, 'w').write('\n'.join(unique_lines))
Если файл весит гигобайты или строки километровые, то придется делать еще хитрей, через временное хранилище, хеши или еще как-то. В условии задачи про это ничего нет.