Вот некоторые из методов, которые вы можете использовать для ввода "file.tsv":
$ perl -pe 's/\t/("-",$&)[$|--]/ge' file.tsv
Здесь мы заменяем каждую нечетную вкладку тире.
$ sed -e '
y/\t/\n/
:a;s/\n/-/;s//\t/;ta
' file.tsv
Этот код sed сначала изменит все табуляции на новые строки, а затем постепенно изменит нечетные на тире и четные на табуляции.
$ perl -lpe 's/\t(.*?(?:\t|$))/-$1/g' file.tsv
$ perl -F'\t' -lane '
push @A, join "-", splice @F,0,2 while @F;
print join "\t", splice @A;
' file.tsv
$ perl -F'\t' -nae '($,,$")=("\t", "-");
print map { "@F[2*$_,2*$_+1]" } 0..$#F/2;
' file.tsv