fbpx

O Linux tem diversas ferramentas para trabalhar e transformar arquivos textos. Estas ferramentas são úteis para trabalhar com scripts, verificando arquivos de log, etc.

O comando cat

Uso:

$ cat [opções] arquivo

Quando as opções aparecem entre chaves, elas são opcionais mesmo.

O comando cat concatena arquivos, imprime seu conteúdo de tela e ainda pode receber texto digitado pelo teclado para um arquivo.

Vejamos como criar um arquivo com apenas algumas linhas de texto:

$ cat > teste.txt

Agora você pode digitar qualquer texto. Quando terminar, pressione Ctrl d em uma linha vazia para finalizar a entrada de dados e salvar o arquivo teste.txt.

Para ver o conteúdo do arquivo recém-criado:

$ cat teste.txt

O cat também pode servir para concatenar arquivos.

$ cat texto1.txt > texto.txt

Observe que neste exemplo o conteúdo do arquivo texto.txt é substituído pelo texto1.txt.

Para adicionar o conteúdo do texto1.txt no final arquivo texto.txt o correto seria:

$ cat texto1.txt >> texto.txt

Comando cut

Uso:

$ cut opções arquivo

O comando cut traduzido ao pé da letra significa cortar. Ele lê o conteúdo de um ou mais arquivos e tem como saída uma coluna vertical.

Suas opções mais frequentes são:

  • -b número: Imprime uma lista vertical com o byte número (da esquerda para direita);
  • -c número: Imprime uma lista vertical com o caractere número (da esquerda para direita);
  • -d delimitador: Configura o delimitador que separa uma coluna da outra. O padrão é o Tab;
  • -f número: Imprime a coluna número.

Exemplos:

$ cut –d : -f 1 /etc/passwd

$ cut –b 1 /etc/passwd

$ cat /etc/hosts | cut –f 2

Comando expand

Uso:

$ expand [opções] arquivo

O comando expand troca o Tab (tabulação) dentro dos textos para o número de espaços correspondentes. É útil para tornar um texto que faz uso das tabulações mais atrativo para determinados dispositivos, como o vídeo, impressora, arquivos, etc.

As opções frequentemente utilizadas são:

  • -t número: Especifica o número de espaços que o tab contém. O padrão é 8;
  • -i: Converte somente no início das linhas.

Exemplo:

$ expand LEIAME.TXT

Comando unexpand

Uso:

$ unexpand [opções] arquivo

O comando unexpand troca o espaço simples por TAB (tabulação) dentro dos textos, no início das linhas. É o inverso do comando expand.

As opções frequentemente utilizadas são:

  • -t número: Especifica o número de espaços que o tab contém. O padrão é 8;
  • -a: Converte todos os espaços ao invés dos espaços no início das linhas.

Exemplo:

$ unexpand LEIAME.TXT

Comando fmt

Uso:

$ fmt [opções]

O comando fmt (format) formata um texto com uma largura específica. Ele pode remover espaços ou adicionar espaços conforme a largura desejada. O padrão são 75 caracteres.

A opção frequentemente utilizada é:

  • -w número: Configura a largura desejada para o texto.

Exemplo:

$ fmt –w 50 LEIAME.TXT

Comando head

Uso:

$ head [opções]

O comando head (cabeçalho) mostra as primeiras 10 linhas do início do texto.

A opção frequentemente utilizada é:

  • -n número: Configura o número de linhas que o head irá mostrar.

Exemplo:

$ head –n 50 LEIAME.TXT

Comando join

Uso:

$ join [opções] arquivo1 arquivo2

O comando join (juntar) une as linhas de ambos os arquivos que tenham um índice comum. O comando join poderá ser utilizado como um banco de dados simples.

As opções frequentemente utilizadas são:

  • -j1 número: Escolhe o campo número como índice para o arquivo1.
  • -j2 número: Escolhe o campo número como índice para o arquivo2.
  • -j número: Escolhe o campo número como índice para ambos os arquivos.

Exemplo:

Suponha que o arquivo1 contenha o seguinte conteúdo:

1      GZH-1234

2      HYD-2389

3      GIS-2348

E o arquivo2 tenha o seguinte conteúdo:

1      Fiat Uno Mille Smart

2      Audi A3

3      Monza

Depois do comando:

$ join –j 1 arquivo1 arquivo2

A saída será a seguinte:

1      GZH-134 Fiat Uni Mille Smart

2      HYD-2389 Audi A3

3      GIS-2348 Monza

TABELA 5 – Símbolos para diferenciar cabeçalho e rodapé

Símbolo Descrição
\:\:\: Símbolo utilizado para iniciar o cabeçalho do texto
\:\: Símbolo utilizado para iniciar o corpo  do texto
\: Símbolo utilizado para iniciar o rodapé  do texto

Veja que o comando join necessita que ambos os arquivos contenham um índice, como no exemplo.

Comando nl

Uso:

$ nl [opções] [arquivo]

O comando nl (numerar linhas) é utilizado para numerar as linhas de um arquivo. O comando considera condições especiais para o cabeçalho e o rodapé do arquivo.

As opções frequentemente utilizadas são:

  • -h subopção: Utilizada para formatar o cabeçalho do texto. O padrão é não numerar o cabeçalho;
  • -b subopção: Utilizada para formatar o corpo do texto. O padrão é numerar somente as linhas não vazias;
  • -f subopção: Utilizada para formatar o rodapé do texto. O padrão é não numerar o rodapé.

As subopções são:

  • A: Numerar todas as linhas;
  • t: Numerar somente as preenchidas;
  • n: Não numerar as linhas.

Exemplo:

Suponha que o arquivo.txt tenha o seguinte conteúdo:

\:\:\:

Relatório de Notas e Frequência dos alunos de Engenharia de Software

—————————————————————————————————

Nome   Nota          Freq.         Resultado

—————————————————————————————————

\:\:

Carlos Torres         8,5             80%           Aprovado

José Antônio          10,0           100%         Aprovado

Maria de Lourdes  10,0           100%         Aprovado

Mário Cabral          9,5             100%         Aprovado

\:

—————————————————————————————————

E usarmos o comando nl:

$ nl arquivo.txt

O resultado será:

Relatório de Notas e Frequência dos alunos de Engenharia de Software

—————————————————————————————————

Nome   Nota          Freq.         Resultado

—————————————————————————————————

1 Carlos Torres      8,5             80%           Aprovado

2 José Antônio       10,0           100%         Aprovado

3 Maria de Lourdes                 10,0           100%         Aprovado

4 Mário Cabral       9,5             100%         Aprovado

—————————————————————————————————

Comando od

Uso:

$ od [opções] [arquivo]

O comando od (Octal e Demais formatos) é utilizado para visualizarmos o conteúdo de um arquivo nos formatos hexadecimal, octal, ASCII e nome dos caracteres.

A opção frequentemente utilizada é:

  • -t tipo: Especifica o tipo de saída que o comando od deve gerar.

Os tipos possíveis são:

  • a: Nome do caractere;
  • c: ASCII;
  • o: Octal;
  • x: Hexadecimal.

Exemplo:

$ cat > arquivo.txt

Certificação Linux

Ctrl d

$ od –t x arquivo.txt

0000000 74726543 63696669 6fe3e761 6e694c20

0000020 00007875

0000022

Comando paste

Uso:

$ paste [opções] arquivo1 arquivo2

O comando paste (colar) é utilizado para concatenar as linhas de diversos arquivos em colunas verticais.

As opções frequentemente utilizadas são:

  • -d’s’: Separa as colunas com o símbolo s dentro das aspas simples;
  • -s: concatena todo o conteúdo de um arquivo com uma linha para cada arquivo.

Exemplo:

Suponha que o arquivo1 tenha o seguinte conteúdo:

lmmoraes

rrodrigues

aduarte

E o arquivo2 tenha o seguinte conteúdo:

provedor.com.br

provedor2.com.br

provedor3.com.br

Ao utilizarmos o comando paste, o resultado será o seguinte:

$ paste –d’@’ arquivo1 arquivo2

[email protected]

[email protected]

[email protected]

Comando pr

Uso:

$ pr [opções] arquivo

O comando pr (printing) formata um arquivo texto para uma saída paginada com cabeçalho, margens e largura definidos. É útil para formatar textos crus para impressão. O cabeçalho consiste em data, hora, nome do arquivo e número da página.

As opções frequentemente utilizadas são:

  • -d: Especifica espaçamento duplo;
  • -l número: Especifica o número de caracteres de largura da página. O padrão são 66 caracteres;
  • -o número: Especifica o número de espaços da margem esquerda.

Exemplo:

$ pr –l 75 –o 5 arquivo.txt

Comando split

Uso:

$ split [opções] arquivo_entrada arquivo_saida

O comando split (dividir) é usado para dividir grandes arquivos em n-arquivos menores. Os arquivos de saída são gerados de acordo com o número de linhas do arquivo de entrada.

O padrão é dividir o arquivo a cada 1000 linhas. Os nomes dos arquivos de saída seguem o padrão arquivosaidaaa arquivosaidaab arquivosaidaac, assim por diante.

A opção mais frequente é:

  • -n: Onde n é o número de linhas que irão dividir o arquivo de entrada.

Exemplo:

$ split -20 arquivo1.txt arquivosaida.txt

Comando tail

Uso:

$ tail [opções] arquivo

O comando tail (cauda) visualiza as últimas 10 linhas de um arquivo. Funciona como o oposto do comando head.

As opções mais frequentes são:

  • -n número: Especifica o número de linhas finais que o tail irá mostrar de um arquivo;
  • -f: Mostra as últimas linhas finais de um arquivo continuamente enquanto outro processo grava mais linhas. Muito útil para visualizarmos arquivos de LOG.

Exemplo:

$ tail –n 50 /var/log/messages

$ tail –f /var/log/messagens

Comando tr

Uso:

$ tr [opções] variável_busca variável_troca

O comando tr faz a troca de uma variável por outra especificada. Este comando não trabalha diretamente com arquivos, portanto deve ser utilizado com a saída padrão de outro comando.

As opções mais frequentes são:

  • -d: Apaga as ocorrências da variável de busca;
  • -s: Suprime as ocorrências repetidas da variável de busca.

Exemplo:

$ cat arquivo1 | tr a-z A-Z

Neste exemplo o comando tr troca todas as letras de a a z para maiúsculas.

$ cat arquivo1 | tr –d a

Neste exemplo o comando tr apaga a letra a.

$ cat arquivo1 | tr –s 1

Neste exemplo o comando tr suprime as ocorrências repetidas do número 1.

O comando tr pode fazer a troca de caracteres da variável de busca pela variável de troca, mas o número de caracteres precisa ser o mesmo em ambas.

Comando wc

Uso:

$ wc [opções] [arquivos]

O comando wc conta as linhas, palavras e caracteres de um ou mais arquivos. Se mais de um arquivo for passado como argumento, ele irá apresentar as estatísticas de cada arquivo e também o total.

As opções mais frequentes são:

  • -c: Conta o número de caracteres de um ou mais arquivos;
  • -l: Conta o número de linhas de um ou mais arquivos;
  • -L: Conta o número de caracteres da maior linha do arquivo;
  • -w: Conta as palavras de um ou mais arquivos.

Exemplo:

$ wc LEIAME.TXT

Comando sort

Uso:

$ sort [-b] [-d] [-f] [-i] [-m] [-M] [-n] [-r] [-u] arquivo [-o arquivo_ saída]

O comando sort ordena as linhas de um arquivo texto.

Suas opções são:

  • -b: Ignora espaços no início da linha;
  • -d: Coloca as linhas em ordem alfabética e ignora a pontuação;
  • -f: Ignora a diferença entre maiúsculas e minúsculas;
  • -I: Ignora caracteres de controle;
  • -m: Mescla dois ou mais arquivos em um arquivo ordenado de saída;
  • -M: Trata as três primeiras letras das linhas como mês (ex: JAN);
  • -n: Ordena pelos números no início das linhas;
  • -r: Ordena em ordem inversa;
  • -u: Se a linha for duplicada, mostra somente a primeira;
  • -o: Envia a saída do comando para o arquivo.

Ex.:

$ sort arquivo

Comando uniq

Uso:

$ uniq [Opções]… [Arquivo_Entrada [Arquivo_Saída]]

O comando uniq remove as linhas duplicadas de um arquivo ordenado.

As opções mais comuns são:

  • -c: Indica no início das linhas o número de ocorrências;
  • -d: Imprime somente as linhas duplicadas;
  • -i: Ignora a diferença entre maiúsculas e minúsculas;
  • -u: Imprime somente as linhas únicas, que não têm duplicatas.

Comando sed

Uso:

$ sed [Opções] {script} arquivo

O comando sed é um poderoso editor de strings para filtrar ou editar sequências de texto.

As opções mais comuns são:

  • -e: Adiciona um script aos comandos a serem executados;
  • -f arquivo: Adiciona o conteúdo de um arquivo como script a ser executado;
  • -r: Usa expressões regulares no script.

Exemplos:

Para substituir expressões por outras, utilizamos o “s”, com os delimitadores “/”, de forma que a primeira ocorrência é o texto a ser procurado, e a segunda o texto que será substituído. Observe que o sed somente irá trocar a primeira ocorrência de cada linha, e é sensível a maiúsculas e minúsculas. A saída padrão do sed será o terminal.

$ cat arquivo

Hoje fará calor de noite. A Noite é bela.

$ sed s/noite/dia/ arquivo

Hoje fará calor de dia. A Noite é bela.

Quer saber se uma certificação vale a pena ? Saiba porque os salários são bons, e porque as empresas estão procurando profissionais de Linux.

Você vai ententer que os benefícios superam de longe o sacrifício.

E se você já se decidiu, veja nosso Guia de Certificação.

E se quer saber onde fazer as provas, consulte a lista de cidade.

Se quiser saber o idioma das provas, veja esse post.

Aprenda muito mais sobre Linux em nosso curso online. Você pode fazer a matrícula aqui com trial de 7 dias grátis. Se você já tem uma conta, pode acessar aqui.

Gostou? Compartilhe 🙂

Utilizando filtros de texto no Linux
Classificado como:                                                                        

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.