Comando cat 🐱

O comando cat é utilizado para exibir o conteúdo de ficheiros de texto.

Pelo menos, é para isso que a maioria dos utilizadores de Linux o utiliza e não há nada de errado com isso.

Cat, na realidade, significa ‘concatenar’ e foi criado para fundir ficheiros de texto. No entanto, com um único argumento, exibe o conteúdo do ficheiro. E por essa razão, é a escolha preferida dos utilizadores para ler ficheiros no terminal sem quaisquer opções adicionais.

Utilizando o comando cat no Linux

Para utilizar o comando “cat”, deve seguir a sintaxe do comando conforme indicado:

Bash
cat [opções] Nome_do(s)_ficheiro(s)
  • [opções] são utilizadas para modificar o comportamento padrão do comando “cat”, como a utilização da opção “-n” para obter números para cada linha.
  • Nome_do(s)_ficheiro(s) é onde deve inserir o nome do(s) ficheiro(s) com o(s) qual(is) pretende trabalhar.

Para facilitar a compreensão, irei utilizar um ficheiro de texto denominado “teste.txt” ao longo deste guia, o qual contém as seguintes linhas de texto:

Plaintext
Carlos, ao voltar para casa, caminhando por entre a multidão da Avenida, e sentindo ao calor da discussão nas veias uma exaltação de sentimentos e de desejos, encostou-se ao parapeito do passeio e olhou para a rua que ia ter com a casa do Ramalhete. No fundo d'essa rua havia uma plácida claridade de lua cheia; e, sobre os ramos dos plátanos, os muitos ninhos enegrecidos pendiam como maçãs de ouro.

Então, qual será o resultado quando utilizado sem quaisquer opções? Bem, vamos analisar:

Se usar o comando “cat” sem qualquer opção e especificar um ficheiro como argumento, ele simplesmente irá exibir o conteúdo desse ficheiro no terminal. Por exemplo, se utilizar:

Bash
cat teste.txt

A saída será o conteúdo do ficheiro “teste.txt” exibido no terminal, linha por linha, até que todo o conteúdo seja mostrado. O comando “cat” sem opções adicionais é frequentemente utilizado para visualizar o conteúdo de ficheiros de texto.

Criar novos ficheiros

A maioria dos utilizadores de Linux utiliza o comando touch para criar novos ficheiros, mas o mesmo pode ser feito utilizando o comando cat!

O comando cat tem uma vantagem sobre o comando touch neste caso, já que permite adicionar texto ao ficheiro enquanto o cria. Parece interessante, não é verdade?

Para fazer isso, deves usar o comando cat anexando o nome do ficheiro ao operador > da seguinte forma:

Bash
cat > Nome_do_ficheiro

Por exemplo, criei o ficheiro teste2.txt

Uma vez realizado esse procedimento, o cursor irá piscar, solicitando que escreva algo, e, por fim, poderá utilizar a combinação de teclas Ctrl + d para guardar as alterações.

Caso deseje criar um ficheiro vazio, basta pressionar Ctrl + d sem efetuar quaisquer alterações.

Copiar conteúdo de um ficheiro para o outro

Pense num cenário em que deseje redirecionar o conteúdo do ficheiro “FicheiroA” para o “FicheiroB”.

Claro, pode copiar e colar. Mas, e se houver centenas ou milhares de linhas?

Simples. Utilize o comando “cat” com a redireção do fluxo de dados. Para o fazer, terá de seguir a sintaxe de comando fornecida:

Bash
cat ficheiroA > ficheiroB

Isto irá apagar o conteúdo do ficheiroB e sobrepor com o conteúdo do ficheiroA

Por exemplo, irei utilizar dois ficheiros de texto, teste.txt e teste2.txt, que contêm o seguinte:

E agora, se eu usar a redireção de teste para teste2 , irá remover os dados de teste 2 e, em seguida, redirecionar os dados de teste.txt para tal usando cat teste.txt > teste2.txt – Isto também é possível com múltiplos ficheiros, por exemplo teste 1 contém: A, teste 2 contém: B, teste 3 contém: ficheiro em branco, ao fazer cat teste1 teste2 > teste 3, o ficheiro teste 3 irá conter: A B

Acrescentar o conteúdo de um ficheiro a outro

Há momentos em que deseja acrescentar dados aos dados existentes e, nesse caso, terá de usar >> em vez de >:

Bash
cat FicheiroA >> FicheiroB

Por exemplo, aqui irei redirecionar dois ficheiros, FicheiroA.txt e FicheiroB.txt, para o FicheiroC.txt:

Bash
cat FicheiroA.txt FicheiroB.txt >> FicheiroC.txt

Este comando irá acrescentar o conteúdo de FicheiroA.txt e FicheiroB.txt ao final de FicheiroC.txt, preservando o conteúdo existente em FicheiroC.txt. Se FicheiroC.txt não existir, ele será criado. Certifique-se de ter as permissões adequadas para modificar FicheiroC.txt.

Mostrar número de linha

Pode encontrar cenários em que deseja ver o número de linhas, e isso pode ser alcançado usando a opção -n:

Bash
cat -n Ficheiro

Por exemplo, aqui utilizei a opção -n com o ficheiro numero_linhas.txt:

Outros comandos

cat nome_ficheiro | more > este comando permite não mostrar todo o conteudo do ficheiro de uma só vez, sendo últil para analisar logs de erro:

Se aprendeu algo novo, executá-lo com diferentes possibilidades é a melhor maneira de recordar.

Artigos Relacionados