<Anterior | Conteúdo | Próxima>
gato
O gato programa tem uma série de opções interessantes. Muitos deles são usados para ajudar a visualizar melhor o conteúdo do texto. Um exemplo é o -A opção, que é usada para exibir caracteres não imprimíveis no texto. Há momentos em que queremos saber se os caracteres de controle estão embutidos em nosso texto de outra forma visível. Os mais comuns são os caracteres de tabulação (em oposição aos espaços) e os retornos de carro, geralmente presentes como caracteres de fim de linha em arquivos de texto no estilo MS-DOS. Outra situação comum é um arquivo contendo linhas de texto com espaços à direita.
Vamos criar um arquivo de teste usando gato como um processador de texto primitivo. Para fazer isso, vamos apenas inserir o comando gato (junto com a especificação de um arquivo para saída redirecionada) e digite nosso texto, seguido por Entrar para terminar a linha corretamente, então Ctrl-d, para indicar a gato que atingimos o fim do arquivo. Neste exemplo, inserimos um caractere de tabulação inicial e seguimos a linha com alguns espaços à direita:
[me @ linuxbox ~] $ cat> foo.txt
A ligeira raposa marrom saltou sobre o cão preguiçoso. [me @ linuxbox ~] $
[me @ linuxbox ~] $ cat> foo.txt
A ligeira raposa marrom saltou sobre o cão preguiçoso. [me @ linuxbox ~] $
Em seguida, vamos usar gato com o -A opção para exibir o texto:
[me @ linuxbox ~] $ gato -A foo.txt
^ A rápida raposa marrom saltou sobre o cão preguiçoso. $ [me @ linuxbox ~] $
[me @ linuxbox ~] $ gato -A foo.txt
^ A rápida raposa marrom saltou sobre o cão preguiçoso. $ [me @ linuxbox ~] $
Como podemos ver nos resultados, o caractere de tabulação em nosso texto é representado por ^I. Esta é uma notação comum que significa “Control-I” que, ao que parece, é o mesmo que um caractere de tabulação. Também vemos que um $ aparece no final verdadeiro da linha, indicando que nosso texto contém espaços à direita.

Texto do MS-DOS vs. Texto Unix
Um dos motivos pelos quais você pode querer usar gato procurar caracteres não imprimíveis no texto é detectar retornos de carro ocultos. De onde vêm os retornos de carruagem ocultos? DOS e Windows! Unix e DOS não definem o fim de uma linha da mesma forma em arquivos de texto. O Unix termina uma linha com um caractere de avanço de linha (ASCII 10), enquanto o MS-DOS e seus derivados usam o retorno de carro de seqüência (ASCII 13) e avanço de linha para encerrar cada linha de texto.
Existem várias maneiras de converter arquivos do formato DOS para o Unix. Em muitos sistemas Linux, existem programas chamados dos2unix e unix2dos, que pode converter arquivos de texto de e para o formato DOS. No entanto, se você não tiver dos2unix no seu sistema, não se preocupe. O processo de conversão de texto do formato DOS para o Unix é muito simples; envolve simplesmente a remoção das devoluções de transporte ofensivas. Isso é facilmente realizado por alguns dos programas discutidos posteriormente neste capítulo.
cat também tem opções que são usadas para modificar o texto. Os dois mais proeminentes são -n, que numera as linhas, e -s, que suprime a saída de várias linhas em branco. Podemos demonstrar assim:
[me @ linuxbox ~] $ cat> foo.txt
A rápida Raposa marrom
[me @ linuxbox ~] $ cat> foo.txt
A rápida Raposa marrom
saltou sobre o cão preguiçoso.
[me @ linuxbox ~] $ gato -ns foo.txt
saltou sobre o cão preguiçoso.
[me @ linuxbox ~] $ gato -ns foo.txt
1
2
3
1
2
3
[me @ linuxbox ~] $
[me @ linuxbox ~] $

A rápida Raposa marrom
A rápida Raposa marrom
saltou sobre o cão preguiçoso.
saltou sobre o cão preguiçoso.
Neste exemplo, criamos uma nova versão do nosso foo.txt arquivo de teste, que contém duas linhas de texto separadas por duas linhas em branco. Após o processamento por gato com o -ns opções, a linha em branco extra é removida e as linhas restantes são numeradas. Embora não seja muito um processo para executar no texto, é um processo.
Documentação