<Anterior | Conteúdo | Próxima>
cat - Concatenar Arquivos
O gato comando lê um ou mais arquivos e os copia para a saída padrão da seguinte forma:
gato [Arquivo...]
gato [Arquivo...]
Na maioria dos casos, você pode pensar em gato como sendo análogo ao TIPO comando no DOS. Você pode usá-lo para exibir arquivos sem paginação, por exemplo:
[me @ linuxbox ~] $ gato ls-output.txt
[me @ linuxbox ~] $ gato ls-output.txt
irá mostrar o conteúdo do arquivo ls-saída.txt. gato é freqüentemente usado para exibir arquivos de texto curtos. Desde a gato pode aceitar mais de um arquivo como argumento, mas também pode ser usado para unir arquivos. Digamos que baixamos um arquivo grande que foi dividido em várias partes (arquivos de multimídia geralmente são divididos dessa forma na Usenet) e queremos juntá-los novamente. Se os arquivos foram nomeados:
filme.mpeg.001 filme.mpeg.002 ... filme.mpeg.099
poderíamos juntá-los novamente com este comando:
cat movie.mpeg.0 *> movie.mpeg
cat movie.mpeg.0 *> movie.mpeg
Como os curingas sempre se expandem na ordem de classificação, os argumentos serão organizados na ordem correta.
Tudo isso é muito bom, mas o que isso tem a ver com a entrada padrão? Nada ainda, mas vamos tentar outra coisa. O que acontece se inserirmos "gato" sem argumentos:
[me @ linuxbox ~] $ gato
[me @ linuxbox ~] $ gato
Nada acontece, ele apenas fica parado como se estivesse pendurado. Pode parecer assim, mas está realmente fazendo exatamente o que deveria.
If gato não recebe nenhum argumento, ele lê a entrada padrão e, como a entrada padrão é, por padrão, conectada ao teclado, ela está esperando que digitemos algo! Experimente adicionar o seguinte texto e pressionar Enter:
Redirecionando a entrada padrão
[me @ linuxbox ~] $ gato
A ligeira raposa marrom saltou sobre o cão preguiçoso.
[me @ linuxbox ~] $ gato
A ligeira raposa marrom saltou sobre o cão preguiçoso.
Em seguida, digite um Ctrl-d (ou seja, mantenha pressionada a tecla Ctrl e pressione “d”) para informar gato que alcançou fim do arquivo (EOF) na entrada padrão:
[me @ linuxbox ~] $ gato
A ligeira raposa marrom saltou sobre o cão preguiçoso.
A ligeira raposa marrom saltou sobre o cão preguiçoso.
[me @ linuxbox ~] $ gato
A ligeira raposa marrom saltou sobre o cão preguiçoso.
A ligeira raposa marrom saltou sobre o cão preguiçoso.
Na ausência de argumentos de nome de arquivo, gato copia a entrada padrão para a saída padrão, portanto, vemos nossa linha de texto repetida. Podemos usar esse comportamento para criar arquivos de texto curtos. Digamos que desejamos criar um arquivo chamado “lazy_dog.txt” contendo o texto em nosso exemplo. Faríamos isso:
[me @ linuxbox ~] $ cat> lazy_dog.txt
A ligeira raposa marrom saltou sobre o cão preguiçoso.
[me @ linuxbox ~] $ cat> lazy_dog.txt
A ligeira raposa marrom saltou sobre o cão preguiçoso.
Digite o comando seguido do texto que queremos colocar no arquivo. Lembre-se de digitar Ctrl-d no fim. Usando a linha de comando, implementamos o processador de texto mais burro do mundo! Para ver nossos resultados, podemos usar gato para copiar o arquivo para stdout novamente:
[me @ linuxbox ~] $ gato lazy_dog.txt
A ligeira raposa marrom saltou sobre o cão preguiçoso.
[me @ linuxbox ~] $ gato lazy_dog.txt
A ligeira raposa marrom saltou sobre o cão preguiçoso.
Agora que sabemos como gato aceita entrada padrão, além de argumentos de nome de arquivo, vamos tentar redirecionar a entrada padrão:
[me @ linuxbox ~] $ cat <lazy_dog.txt
A ligeira raposa marrom saltou sobre o cão preguiçoso.
[me @ linuxbox ~] $ cat <lazy_dog.txt
A ligeira raposa marrom saltou sobre o cão preguiçoso.
Usando o operador de redirecionamento “<”, mudamos a fonte de entrada padrão do teclado para o arquivo cão_preguiçoso.txt. Vemos que o resultado é o mesmo que passar um único argumento de nome de arquivo. Isso não é particularmente útil em comparação com a passagem de um argumento de nome de arquivo, mas serve para demonstrar o uso de um arquivo como fonte de entrada padrão. Outros comandos fazem melhor uso da entrada padrão, como veremos em breve.
Antes de prosseguirmos, verifique a página do manual para gato, pois tem várias opções interessantes.