We ❤ Teach

Amamos o que fazemos!

Dicas LPI - Filtros de textos e arquivos: tr, fmt, pr, cut e sed

Dicas LPI - Filtros de textos e arquivos: tr, fmt, pr, cut e sed
  • Compartilhe esse post
  • Compartilhar no Facebook00
  • Compartilhar no Google Plus00
  • Compartilhar no Twitter

Aprenda com as dicas para a LPI. Hoje trabalhamos os comandos do Tópico 103.2 da LPIC-1, com os comandos tr, fmt, pr, cut e sed do Linux. Confira!

  • INTRODUÇÃO

Este tópico irá abordar conceitos e comandos pertencentes a leitura de textos no Linux. Estes comandos de modo isolado não alteram o conteúdo do texto, porém se combinados com outros comandos, sim. Entretanto, neste primeiro momento aprenderemos apenas a ler as informações do Linux. Todos os comandos são em minúsculo, mas para uma melhor leitura os digitarei em maiúsculo. Vocês perceberão que alguns comandos fazem o mesmo que outros, mas a abordagem será diferente. Cada comando tem seu manual de instrução explicando seus parâmetros. Colocarei apenas os parâmetros mais utilizados, porém recomendo que leiam o manual destes e testem todos os parâmetros.

 

  • COMANDOS QUE SERÃO ABORDADOS:

TR, FMT, PR, CUT, SED

 

  • ARQUIVOS PARA USAR NAS PRÁTICAS:

Faça o download dos arquivos através deste link e pratique!

 

  • COMANDO: TR

O TR localiza parte do texto e modifica sua escrita ou remove da exibição uma letra. Este comando utiliza de forma bem simples, mas bem simples mesmo, expressão regular.

PARÂMERTOS:
-‘A – Z’ ‘a-z’: Converte caracteres minúsculo em maiúsculo, etc. Experimente usar o help do comando (tr --help) para mais opções. É bem interessante.

tr ‘a-z’ ‘A-Z’ < nomes.txt

-d: Deleta um caractere.

tr -d ‘#’ < nomes.txt

 

  • COMANDO: FMT

O FMT serve para formatar a saída padrão de um texto.

PARÊMETROS:
-w: Formatará um texto com a quantidade de palavras inseridas no parâmetro.

fmt -w 50 texto-grande.txt

 

  • COMANDO: PR

O PR prepara o texto para ser impresso. Ou seja, você configura a forma como um texto seria impresso e depois o imprime.

PARÂMETROS:
-h: Define um cabeçalho para o documento.

pr -h ‘Cabecalho’ texto-pequeno.txt

-l: Informa a quantidade de linhas por páginas que o arquivo deverá ser gerado.

pr -l 50 texto-pequeno.txt

 

  • COMANDO: CUT

O CUT corta pedaços do texto. Talvez o comando mais complexo deste tópico, mas muito utilizado para auxiliar na manipulação de textos e extração de resultado.

PARÂMETROS:
-c: Corta e apresenta um número passado no parâmetro. Pode-se colocar um range como valor.

cut -c 1 nomes.txt
cut -c 1-5 nomes.txt

-b: Parecido com o parâmetro anterior, este comando corta em bytes. O comando abaixo cortará apenas o terceiro Byte do arquivo. Este comando também aceita range.

cut -b 3 nomes.txt

-d: Este parâmetro informa um delimitador para ser cotado. Funciona em conjunto com o parâmetro abaixo. Perceba na imagem abaixo que foi escolhido o ‘:’ para ser cortado. Esse parâmetro aceita apenas um delimitador.
-f: Junto com o parâmetro acima, funciona para escolher em qual parte do texto será cortado. Aceita também range. Perceba que escolhi apenas uma “coluna” para ser cortado e exibido na tela.

cut -d ‘:’ -f 1 /etc/shadow

 

  • COMANDO: SED

O SED é uma das principais ferramentas para manipulação de textos com expressão regular. Mas iremos ver apenas o que é cobrado na certificação.

PARÂMETROS:
s: Este parâmetro substitui uma palavra por outra.

sed ‘s/Afonso/digiteOQueSubstituir/’ nomes.txt

g: Utilizado para substituir todas as ocorrências de uma linha. Como assim? Bom, imagine que em uma linha contenha a seguinte frase: ‘Linux é Bom, Bom é o Linux’ e você quer substituir o nome Linux por FreeBSD. O que acontecerá se usar apenas o parâmetro s? Teste.

sed ‘s/Linux/FreeBSD/g’ nomes.txt

d: Este serve para deletar a palavra desejada. Mas lembre-se: Ele não deletará o conteúdo do arquivo, apenas a visualização.

sed ‘/Linux/d’ nomes.txt

Fiquem atentos... toda semana teremos Dicas LPI! LPI DROPS - Linux em dose homeopática!!!

Por Felippi Cunegundes!

  • Compartilhe esse post
  • Compartilhar no Facebook00
  • Compartilhar no Google Plus00
  • Compartilhar no Twitter