Para que serve o 'gato'?

9

Eu vi o comando cat aparecer em algumas coisas on-line e fiquei curioso para saber o que o cat fez e para que serve no contexto de alguém que está apenas fazendo algumas coisas simples de linha de comando.

    
por cosmoflop12 01.07.2015 / 03:38

4 respostas

9
O principal objetivo do

cat é usar arquivos cat enate. cat file1 file2 ... mostrará o conteúdo de file , file2 e os outros um após o outro, como se o conteúdo estivesse em um único arquivo. Veja a página de manual :

NAME
       cat - concatenate and print files

Ele é destinado ao uso onde:

  • um comando de destino não pode ler arquivos e você precisa passar vários arquivos para ele. Um exemplo é o utilitário tr . Normalmente, com um arquivo, você faria:

    tr < file
    

    Mas com vários arquivos, o redirecionamento não pode ser usado, então você precisa fazer:

    cat file1 file2 ... | tr
    
  • um comando de destino pode ler de vários arquivos, mas seu comportamento pode mudar quando receber vários arquivos. Um exemplo é wc , que imprime as contagens de cada arquivo, junto com os nomes dos arquivos, onde você pode ter desejado o total, sem um nome de arquivo.

Lembre-se de que a maioria dos comandos encontrados ( grep , sed , awk , sort , ...) pode ler arquivos perfeitamente.

Se você quiser visualizar o conteúdo de um arquivo, use um pager - less e more são eminentemente capazes de apresentar arquivos para visualização, e são muito mais convenientes de usar.

    
por muru 01.07.2015 / 04:17
6

cat é um dos comandos usados com mais frequência em sistemas operacionais do tipo Unix. Tem três funções relacionadas com arquivos de texto:

  1. exibindo-os
  2. combinando cópias deles
  3. criando novos.
  4. Copiar arquivos
A sintaxe geral do

cat é:

cat [options] [filenames] [-] [filenames]

Lendo arquivos

O uso mais comum de cat é ler o conteúdo dos arquivos, e cat é geralmente o programa mais conveniente para esse propósito. Tudo o que é necessário para abrir um arquivo de texto para exibição no monitor é digitar a palavra gato seguida de um espaço e o nome do arquivo e, em seguida, pressionar a tecla ENTER. Por exemplo, o seguinte mostrará o conteúdo de um arquivo chamado file1:

cat file1

Concatenação

O segundo papel do gato é a concatenação. (Esta é a fonte do nome curioso do gato.) Não há efeito nos arquivos originais.

Por exemplo, o seguinte comando concatenará cópias do conteúdo dos três arquivos file1, file2 e file3:

cat file1 file2 file3

O conteúdo de cada arquivo será exibido na tela do monitor. Essa saída poderia ser facilmente redirecionada usando o operador de redirecionamento de saída para outro arquivo, como file4, usando o seguinte:

cat file1 file2 file3 > file4

Criação de Arquivo

Graças ao @muru comentário: cat é capaz de criar novos arquivos dependendo do recurso de redirecionamento do shell e não em si

Para arquivos pequenos, isso geralmente é mais fácil do que usar o vi, o gedit ou outros editores de texto. Isto é conseguido digitando cat seguido pelo operador de redirecionamento de saída e o nome do arquivo a ser criado, então pressionando ENTER e finalmente pressionando simultaneamente a tecla Ctrl & amp; Teclas d .

Por exemplo, um novo arquivo chamado file1 pode ser criado digitando

cat > file1

pressione ENTER e pressione simultaneamente a tecla Ctrl & amp; Teclas d .

PS1: Se um arquivo chamado arquivo1 já existir, ele será sobrescrito

PS2: você pode anexar ao arquivo final usando o operador append >> example cat > > arquivo1

Copiar arquivos

O comando cat também pode ser usado ( dependendo no recurso de redirecionamento do shell) para criar um novo arquivo e transferir para ele os dados de um arquivo existente. Exemplo: faça uma cópia do arquivo oldfile.txt :

cat oldfile.txt > newfile.txt

Referências:

por Maythux 01.07.2015 / 08:05
1

Pode ser usado para mostrar o conteúdo de um arquivo. Por exemplo: cat "my file.txt" . Você também pode fazer man cat para mostrar os detalhes sobre para que cat pode ser usado.

    
por Puneet Gill 01.07.2015 / 03:43
0

Aqui está outra forma para criação de arquivos usando o redirecionamento de shell (ou tubulação ) e cat :

cat << EOF > foo.sh
#!/bin/sh
echo 'Hello World!'
EOF

cat << EOF produzirá as linhas a seguir até que a string EOF seja encontrada novamente. Em seguida, > ( >> ) redirecionará a saída para o arquivo foo.sh . Como alternativa, se você precisar criar um arquivo como root, poderá enviar a saída para o comando tee ( tee -a ), executado pelo comando sudo :

cat << EOF | sudo tee foo.sh && sudo chmod +x foo.sh
#!/bin/sh
HELLO='Hello World!'
echo "\$HELLO"
EOF
  • O texto acima tornará o arquivo executável ( chmod +x ) se for criado com sucesso ( && ).
  • O significado especial de alguns caracteres (como $ ) deve ser de escape (com \ ) na saída de cat .
por pa4080 05.01.2018 / 09:41