cat
não adiciona novas linhas. A nova linha já está presente no final de test1
. Isso é normal: um arquivo de texto consiste em uma sequência de linhas e uma linha consiste em uma sequência de caracteres imprimíveis seguida por um caractere de nova linha. Assim, todos os arquivos de texto não vazios terminam com um caractere de nova linha.
Se você tiver dois arquivos de texto e quiser concatená-los juntos, use cat
. Você obterá as linhas do primeiro arquivo seguidas pelas linhas do segundo arquivo.
Se você quiser fazer algo mais complicado, viz, juntar a última linha do primeiro arquivo com a primeira linha do segundo arquivo, você precisa de um comando mais complicado. Por exemplo, você pode remover o último caractere do primeiro arquivo e anexar o segundo arquivo. Com o GNU coreutils (ou seja, no Linux não embarcado), você pode fazer isso:
{ <test1 head -c -1 && cat test2; } >test3
ou em dois passos:
<test1 head -c 1 >test3 && <test2 cat >>test3