FILE 1
foo
bar
baz
Para voltar à linha de comando e criar o arquivo de texto, usamos CTRL + D.
Agora vamos criar spam.txt com cat > spam.txt
e coloque o seguinte:
FILE 2
spam
ham
eggs
Se quiséssemos acrescentar ou adicionar mais texto a esses arquivos, usaríamos cat >> FILENAME
e insira o texto que queremos usar.
Observe que o operador >> é usado para anexar, em oposição ao operador>.
Em vez de ter que abrir um editor de texto, fomos capazes de criar um arquivo de texto rápido e simples a partir da linha de comando, economizando tempo e esforço.
O principal argumento desta seção é que usamos cat > FILENAME
para criar ou substituir um arquivo. Ademais, podemos usar cat >> FILENAME
para anexar a um arquivo que já está lá. Depois de digitar o texto, queremos usar CTRL + D para sair do editor, retornar à linha de comando e criar o arquivo.
Reading Rainbow
Agora que criamos algo, vamos dar uma olhada no que fizemos
Observe como não temos um operador> ou >> no comando a seguir, apenas cat e o nome do arquivo.
O comando cat foo.txt
exibirá o seguinte:
FILE 1
foo
bar
baz
assim cat foo.txt
nos permitirá ler o arquivo, mas vamos ver o que mais podemos fazer.
Digamos que queríamos descobrir quantas linhas um arquivo em que estávamos trabalhando. Para isso, a opção -n é útil.
Com o comando cat -n foo.txt
podemos ver quanto tempo nosso arquivo é:
1 FILE 1
2 foo
3 bar
4 baz
Com -n, podemos ter uma idéia de quantas linhas o arquivo com o qual trabalhamos possui. Isso pode ser útil quando estivermos repetindo um arquivo de tamanho fixo.
ConCATenando arquivos
Ok, então vimos que o gato pode criar e exibir arquivos, mas que tal concatená-los (combiná-los)?
Neste exemplo, usaremos os arquivos foo.txt e spam.txt. Se quisermos ter uma ideia, podemos dar uma olhada no conteúdo de ambos os arquivos ao mesmo tempo. Usaremos o comando cat novamente, desta vez usando cat foo.txt spam.txt
.
cat foo.txt spam.txt
resulta no seguinte:
FILE 1
foo
bar
baz
FILE 2
spam
ham
eggs
Observe que o acima exposto apenas exibe os dois arquivos. Neste ponto, ainda não os concatenamos em um novo arquivo.
Para concatenar os arquivos em um novo arquivo, queremos usar cat foo.txt spam.txt > fooSpam.txt
o que nos dá o resultado em um novo arquivo fooSpam.txt
Usando cat fooSpam.txt
gera o seguinte para o terminal:
FILE 1
foo
bar
baz
FILE 2
spam
ham
eggs
Este comando também é útil para quando queremos concatenar mais de dois arquivos em um novo arquivo.
Os tópicos aqui apresentados são que podemos visualizar vários arquivos com cat FILENAME1 FILENAME 2
.
Ademais, podemos concatenar vários arquivos em um arquivo com o comando cat FILENAME1 FILENAME 2 > FILENAME3
.
Outras coisas divertidas para fazer com gatos
Digamos que estamos trabalhando com um arquivo e continuamos recebendo erros por algum motivo antes do final do arquivo – e parece que ele pode ter mais linhas do que esperávamos.
Para investigar um pouco mais o arquivo e possivelmente resolver nosso problema, podemos usar a opção -A. A opção -A nos mostra onde as linhas terminam com $, nos mostra caracteres de tabulação com ^ I e também exibe outros caracteres não imprimíveis.
Se estivéssemos vendo um exemplo de arquivo de texto não imprimível com cat nonPrintExample.txt
podemos sair algo como isto:
O que é bom, mas pode não nos contar uma história completa de um personagem ou sequência que possa estar nos causando problemas.
Enquanto que cat -A nonPrintExample.txt
pode nos dar uma saída mais útil:
^I^I$
$
^L$
$
^G^H^H^H^Y^I^N^O^P^@$
^@^@^[g^[f^[d^[g^[6^[5^[4^[6^[=$
$
$
^X$
Aqui, obtemos uma representação mais clara do que pode estar acontecendo entre guias, feeds de linha, retornos e outros caracteres.
A dica aqui é que o gato -A FILENAME pode nos contar detalhes mais detalhados sobre o arquivo com o qual estamos trabalhando.
Este artigo deve fornecer uma boa visão geral do comando cat, o que ele pode fazer e sua funcionalidade.