Перефразируя ваш вопрос:
У меня есть файл с разделителями табуляции без заголовка.
Я хочу преобразовать его в разделенный запятыми, добавив при этом заголовок.
Вот один способ (при условии, что ваша оболочка bash)
header=(Loc Name Address Apt City State Zip)
(IFS=$'\t'; echo "${header[*]}"; cat file) |
awk -F'\t' -v OFS=',' '{$1 = $1; print}'
Часть $1 = $1
является идиом awk: awk не будет пересчитывать строку с использованием нового разделителя полей если данные не были обновлены.
С учетом этого входного файла
$ cat -A file
US^IJohn^I742 Evergreen Terr.^I^ISpringfield^IMA^I01101$
US^IJane^I666 5th Avenue^I#1408^INew York^INY^I11101$
команда выводит
Loc,Name,Address,Apt,City,State,Zip
US,John,742 Evergreen Terr.,,Springfield,MA,01101
US,Jane,666 5th Avenue,#1408,New York,NY,11101