If you use print in awk you’ll lose the formatting of the input file — most of the times that may be OK, but not always. The solution is simple — replace print by printf. Here’s an example with strings in the input fields:
- “%…s” means a character string.
- 20 means a length of 20 characters.
- awk defaults to right-alignment (presumably for columns of figures) so you need -20 for left-alignment.