Sua análise parece correta para mim. Eu usaria cat
para juntar arquivos, já que essa é sua função principal. Basta fazer isso sem a opção -v
ou qualquer opção específica.
Usar cat -v ..
no arquivo foi basicamente descartado. Você tentou abri-lo em um visualizador de imagens? Eu tentei o seu método e foi exatamente isso que aconteceu com o meu.
Você pode ver a evidência disso usando o comando file
também:
$ file copy*
copy1.png: PNG image data, 1440 x 847, 8-bit/color RGB, non-interlaced
copy2.png: ASCII text, with very long lines
A página de informações de cat
esclarece um pouco mais sobre o assunto:
'-v'
'--show-nonprinting'
Display control characters except for LFD and TAB using '^'
notation and precede characters that have the high bit set with
'M-'.
On systems like MS-DOS that distinguish between text and binary
files, 'cat' normally reads and writes in binary mode. However, 'cat'
reads in text mode if one of the options '-bensAE' is used or if 'cat'
is reading from standard input and standard input is a terminal.
Similarly, 'cat' writes in text mode if one of the options '-bensAE' is
used or if standard output is a terminal.
Então, onde estão os ^ M's?
Se você abrir o arquivo copy2.jpg
em vim
, verá que está cheio deles, por exemplo: