Sed 002: Opção, Script e Entrada

A Estrutura do sed a ser invocada

Sed é invocado da seguinte forma:

Essa é a forma full/completa.

Exemplos

[elder@serverTeste textos]$ sed -n 'p' ./teste.txt 
Maria entrou na casa
A casa era assombrada
Tinha o número 13 fixado na dachada
Aterrorizante! Muito Aterrorizante

onde,

  • sed = editor de fluxo de texto
  • -n = opção que é usada juntamente com ‘p’ para exibição de textos
  • ‘p’ = script para exibir o texto.
  • ./teste.txt = arquivo de texto que serve como entrada

 

[elder@serverTeste textos]$ sed -n '/casa/p' ./teste.txt 
Maria entrou na casa
A casa era assombrada

Onde,

  • sed = editor de fluxo de texto
  • -n =opção que é usada juntamente com ‘p’ para exibição de textos. Se não utilizada, Sed irá imprimir o resultado duas vezes.
  • ‘/casa/p’ = script que exibe/filtra somente as linhas contendo a palavra casa
  • ./teste.txt = arquivo de texto que serve como entrada

 

Lista de Opções

Abaixo segue lista de algumas opções

 

  • –version =  Exibe na tela a versão do sed e outras informações
  • –help = imprime na tela um texto de ajuda bem resumido, porém muito útil.
  • -n = opção usada juntamente com o comando p, conforme exemplo acima
  • -i = por padrão, sed não altera o arquivo. Essa opção faz com que o arquivo seja permanentemente alterado – Usando com algumas letra ou palavra à frente faz com que seja criado uma cópia de backup do arquivo original

 

Lista de comandos para Script em Sed

O script pode conter diversos comandos, como o ‘p’ usado anteriormente juntamente com a opção -n. Segue lista de alguns comandos:

  • a\ ou a =  adiciona um texto depois de uma linha qualquer do texto.
  • i ou i\ = adiciona um texto antes de uma linha qualquer
  • d =  Deleta uma linha qualquer do texto
  • e = executa um comando
  • stem como função substituir texto. Falam que é o comando mais famoso e utilizado. 

 

 

Input  ou Arquivo de Entrada

Input significa entrada. O editor Sed pode receber um texto enquanto você digita no teclado, ou ainda um texto vindo de um outro comando, como o cat ou echo. Porém, o mais comum é receber texto de um arquivo.

 

Mais Exemplos

  1. Substituindo casa por casinha utilizando  sed ‘s/casa/casinha/p’. Perceba que a entrada é o que digito no terminal. Para finalizar teclo “Control + c”
  2. Veja no exemplo anterior que o resultado aparece duplicado. Para corrigir precisamos acrescentar a opção -n.

    1.  Usaremos o arquivo teste.txt como entrada(input file). Exibindo seu conteúdo.
      Obs.: é bom relembrar que o “./” se refere ao diretório/pasta que estou acessado  no momento, no caso /home/elder/textos

      Acima poderia ser usado também: sed  ‘ ‘  ./teste.txt
  3. Substituindo “dachada” por “fachada” e usando a opção -i para alteramos o arquivo.
    Se não houve a utilização da opção -i  o arquivo não sofrerá alteração. Ocorrerá apenas uma simulação.
  4. Uma das coisas  interessantes do sed é a função da opção -i também realizar uma cópia de segurança do arquivo. Para isso basta acrescentar qualquer letra(s) após o -i, exemplo: “-i.bak”. Iremos usar “2i\” para acrescentar um texto na linha 2 e ao mesmo tempo criar o backup.

    Abaixo utilizo o comando ls para listar os arquivos; realço de laranja o arquivo de backup criado.

    [elder@serverTeste textos]$ ls -1
    listaNomes.txt
    teste.txt
    teste.txt.bak

Bom, por hoje é só!

Siga-nos em nossas redes:

Link Facebook: https://www.facebook.com/gnulinuxbr

 

 

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

Deixe uma resposta

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