Artigo original: The Cat Command in Linux – How to Create a Text File with Cat or Touch

O comando cat é bastante popular e versátil nos ecossistemas Unix e Linux. Existem quatro usos comuns do comando cat. Ele pode exibir um arquivo, concatenar (combinar) diversos arquivos, fazer o echo de texto em tela e criar um arquivo.

Exibição de um arquivo

O uso mais comum do comando cat é o de exibir o conteúdo de um arquivo. Abaixo vemos um exemplo que você pode experimentar.

echo "Dance, Dance" > cat_create #cria um arquivo
cat cat_create

Nesse exemplo simples, usamos uma combinação de echo e um redirecionador para criar um arquivo contendo "Dance, Dance". Em seguida, usamos o comando cat para exibir o conteúdo do arquivo cat_create.

O resultado é este:

image-11
O resultado dos comandos do exemplo

(Con)cat(enação)

O exemplo anterior é, de fato, um caso específico da função principal do comando cat, que é concatenar arquivos para exibição.  Se usarmos o comado do mesmo modo, mas dando a ele dois ou mais arquivos, ele retorna o resultado da concatenação dos arquivos.

Se executarmos, por exemplo, o seguinte comando:

echo "This is how we do it" > test1 #Cria o primeiro arquivo
echo "*This is how we do it*" > test2 #Cria o segundo arquivo
cat test1 test2

O resultado é o conteúdo do primeiro arquivo, test1, seguido do conteúdo do segundo arquivo, test2. Você pode dar ao comando cat diversos arquivos. Ele concatenará (combinará) todos eles. Perceba, no entanto, que o comando cat vai inserir automaticamente uma quebra de linha entre os resultados.

image-12
O resultado dos dois arquivos concatenados

cat também fornece alguns switches para realizar ações como exibir caracteres não imprimíveis (-v) ou numerar as linhas (-n). Um detalhamento completo pode ser encontrado nas páginas do man (em inglês).

Uso de echo

Este é um uso menos comum de cat, mas é a base para a próxima seção. Se você executar o comando cat, simplesmente, ele será executado em modo interativo, fazendo echo (repetindo em tela) tudo o que você digitar até que você saia do comando.

image-13
Usando cat em modo interativo

Nesse exemplo, digitei uma única palavra por linha. Cada vez que eu pressionava Enter, a linha era repetida logo abaixo.

Também é possível fazer o pipe de texto com o cat. Nesse caso, o texto é reproduzido no echo. Por exemplo:

echo "Piping fun" | cat

O resultado será o seguinte:

image-14
Texto com piping no cat

Criação de arquivos

Nos exemplos anteriores, usamos o comando echo redirecionado para um arquivo para criar outros arquivos. cat pode ser usado de maneira similar. De fato, podemos usar a concatenação de cat e a funcionalidade de echo para criar arquivos.

Podemos criar um arquivo com a concatenação de diversos arquivos assim:

echo "File 1 Contents" > file1
echo "File 2 Contents" > file2
echo "File 3 Contents" > file3
cat file1 file2 file3 > combined_file
cat combined_file

No exemplo acima, criamos três arquivos usando echo, combinamos os três arquivos em um só usando cat e exibimos o arquivo combinado usando cat.

image-15
O resultado dos comandos acima. Criamos três arquivos e combinamos os três em um único arquivo usando o cat

Também podemos usar o modo interativo de cat para criar um arquivo com o texto que digitarmos no terminal.

image-16

Cada vez que você pressionar Enter, ele colocará o texto digitado no arquivo. Se você digitar algum texto, não pressionar Enter e sair, o texto digitado não será capturado no arquivo.

Esse é um modo incrível de criar um arquivo com a capacidade de inserir conteúdo nesse arquivo rapidamente.

Uso de touch para criar arquivos

Às vezes, é preciso apenas que um arquivo exista. Como alternativa ao uso de cat para criar arquivos, é possível usar o comando touch.

O comando touch foi criado para atualizar a timestamp modificada de um arquivo, mas é normalmente usado como um modo rápido de criar um arquivo vazio. Aqui, vemos um exemplo de uso:

touch nome_do_novo_arquivo

O comando touch pode criar diversos arquivos, atualizar a modificação e/ou a criação de timestamps e muitas outras coisas úteis. As páginas completas do man (em inglês) estão no link.

touch normalmente é usado para garantir que um arquivo exista. Ele é um ótimo comando para quando precisamos de um arquivo vazio rapidamente.

Resumo

cat é um comando muito útil.  Você pode usá-lo para criar, exibir e combinar arquivos de texto fácil e rapidamente.

Se você apenas precisa que um arquivo exista, mas não se importa com o fato de que ele esteja vazio, usar touch é uma ótima alternativa.

Hughie Coles é um líder em desenvolvimento na Index Exchange. Ele escreve sobre arquitetura de software, escalabilidade, liderança e cultura.  Para ver mais textos escritos por ele (em inglês), confira a página do autor no Medium.