Pesquisar este blog

sexta-feira, 1 de novembro de 2013

SED

o Sed é orientado a linha, de cima para baixo, da esquerda para a direita.

A sintaxe genérica de um comando Sed é:

sed [opções] regras [arquivo]

Sendo que regras tem a forma genérica de:

[endereço1 [, endereço2]] comando [argumento]


Como dica geral SEMPRE coloque os comandos do Sed entre aspas simples

$ more exemplo
Folha de Sao Paulo
O estado de Sao Paulo
Noticias Populares
Gazeta do Povo
O Globo

$sed -n 'p' exemplo 
Folha de Sao Paulo
O estado de Sao Paulo
Noticias Populares
Gazeta do Povo

O Globo

$ sed -n '1p' exemplo 
Folha de Sao Paulo

$ sed -n '2p' exemplo 
O estado de Sao Paulo

$ sed -n '3p' exemplo 
Noticias Populares



ENDEREÇO

Deleta a 2° linha ou a linha que contenha a palavra estado

$ sed '2d' exemplo 
Folha de Sao Paulo
Noticias Populares
Gazeta do Povo
O Globo

sed '/estado/d' exemplo 
Folha de Sao Paulo
Noticias Populares
Gazeta do Povo
O Globo


Imprimi a 2° linha ou a que contenha a palavra estado

$ sed -n '2p' exemplo 
O estado de Sao Paulo

$ sed -n '/estado/p' exemplo 
O estado de Sao Paulo



Deleta e imprimi linhas dentro do range 2 a 4

$ sed '2,4d' exemplo
Folha de Sao Paulo
O Globo

$ sed -n '2,4p' exemplo
O estado de Sao Paulo
Noticias Populares
Gazeta do Povo

Deleta e imprimi entre a linha 2 e a palavra gazeta:

$sed '2,/Gazeta/d' exemplo
Folha de Sao Paulo
O Globo

$ sed -n '2,/Gazeta/p' exemplo
O estado de Sao Paulo
Noticias Populares
Gazeta do Povo



Deleta e imprimi entre duas palavras:

$ sed '/estado/,/Gazeta/d' exemplo
Folha de Sao Paulo
O Globo

$ sed -n '/estado/,/Gazeta/p' exemplo
O estado de Sao Paulo
Noticias Populares
Gazeta do Povo


No endereço, temos um caractere especial, o $ que referencia à última linha do texto. Assim sendo, para apagar da linha 2 até o final do texto:

$ sed '2,$d' exemplo
Folha de Sao Paulo

Imprimir a linha, a linha mais 1 linha, e mais 2 linhas.....

$ sed -n '/estado/p' exemplo
O estado de Sao Paulo

$ sed -n '/estado/,+p' exemplo
O estado de Sao Paulo

$ sed -n '/estado/,+1p' exemplo
O estado de Sao Paulo
Noticias Populares

$ sed -n '/estado/,+2p' exemplo
O estado de Sao Paulo
Noticias Populares
Gazeta do Povo

$ sed -n '/estado/,+3p' exemplo
O estado de Sao Paulo
Noticias Populares
Gazeta do Povo
O Globo


Interrompa o sed até a primeira linha em branco

$ sed '/^$/q' exemplo


Colocando na frente do d ou p o simbolo !, invertemos a lógica do comando

$ sed -n '/estado/p' exemplo
O estado de Sao Paulo

$ sed -n '/estado/!p' exemplo
Folha de Sao Paulo
Noticias Populares
Gazeta do Povo
O Globo



Este comando apaga as linhas 5, 10 e as que têm estorvo do arquivotexto.txt.
$ sed '1d;3d;/estado/d' exemplo

Substitui a 1° ocorrencia (por linha) da palavra Gazeta por bobao no arquivo exemplo
sed -e 's/Gazeta/bobao/' exemplo



sed -e 's/Gazeta/bobao/g' exemplo

substitui no arquivo todo!

___________________________________________
Programa para obter os resultados do 3DNA

#Para executar o programa digite: 
#sed -n -f programa.sed 3dna_output.out > opening.dat


# Obter o conteúdo entre a TAG < > </ >
//{:a;/<\/opening>/!{N;ba;};p;}


# Para obter o conteúdo entre a TAG < > </ > retirando a TAG:
#//{/{<\/opening>}/tc;:a;/<\/opening>/!{N;ba;};:c;s/.*//;s/<\/opening>.*$//;p;}



ou ....



#!/bin/sh
sed -n '//{:a;/<\/alpha1>/!{N;ba;};p;}' ensemble_example.out > alpha1.dat


#inserir uma linha em rbanco no inicio do arquivo
 sed '1i\ ' arq > arq2




Texto editado de: http://aurelio.net/sed/sed-HOWTO/

Nenhum comentário:

Postar um comentário