can we recommend starting at the source, and work to have whatever process is writing all three files do so in one swell foop?
Otherwise, try to format the output of each via printf and iterate through each file in turn. The printf would allow you to establish tight controls over 'column' width and thereby arrange the content into even lengths. Assuming that there's a definite link in terms of row numbers among the files, you can then try to printf the output of your first file into a pipe that cats with printf output from each of the others in turn...
Did I mention going back to correct this at whatever point the original logger is munging it up?
