I have read through post #1 in this thread several times and still have no idea what you are trying to do.
You have one line between your two input files that match (the line in each file that contains the text column3 ). And, it appears that when you find that those lines do match, you ignore that fact completely. Then you say:
but there is only one column in file1 and what is a non match between a single file and itself?
If you are trying to produce a sorted list of the lines in two files and remove duplicates, try:
sort -u file1 file2
That produces the output you said you want, but it doesn't fit the description of the problem you presented.
Perhaps the difference lies in performance. While sort -mu only combines the files already ordered, sort -u reorders the union of all, so which it does extra work.
will be identical, but the 1st will run faster. If both input files are not in sorted order; the 1st command may produce unsorted output, may contain duplicated lines, and/or may terminate with a diagnostic message instead of producing the desired output.
The scenario doesn't help. I see absolutely no correlation between the example you showed us in post #1 and the example you showed us in post #8.
Instead of just showing us two input files and an output file, explain in English what in your two input files are being matched, merged, sorted, joined, pasted, or whatever it is that you are doing and explain how those operations are being used to create the output that you want.
Define the terms that you use with extremely clear examples. The term merge can mean very different things depending on the context. The same applies to other terms you may be used to using.