O Unix representa novas linhas com o caractere LF (feed de linha = \n
= ^J
= 10 decimal = 012 octal = 0x0a hexadecimal). O Windows representa novas linhas com a sequência de dois caracteres CR, LF (CR = retorno de carro = \r
= ^M
= 13 decimal = 015 octal = 0x0d hexadecimal). Quando um arquivo de texto do Windows é processado por um utilitário Unix, cada linha termina com um caractere CR falso.
Os utilitários Cygwin são portas diretas das ferramentas do Linux. Eles não lidam com arquivos de texto do Windows especialmente, então os caracteres CR acabam como conteúdo de linha. Em seu arquivo colado, há um CR antes de cada vírgula.
Você pode converter os arquivos para o formato Unix primeiro:
dos2unix *.csv
paste -d , test1.csv test2.csv > paste.csv
Ou você pode simplesmente remover os caracteres CR. Aqui ele trabalha para removê-los de dentro da linha; algumas outras manipulações de texto exigiriam removê-las antes do processamento.
paste -d , test1.csv test2.csv | tr -d '\r' > paste.csv