Ajuda com SED

1. Ajuda com SED

n farias
nafbaiao

(usa Kurumin)

Enviado em 25/01/2008 - 09:15h

Caros colegas sou super novo no mundo linux e estou lendo um pouco sobre SED.
Bem gostaria se não for incomoda-los que fosse verificado e alterado esse trecho de código shell.

sed '/arquivo/,/]/ { /arquivo/ b ; /]/ b ; s/^/­­­/ ; }' 2teste.txt

Onde este deverá ser capaz de identificar um arquivo (2teste) um delimitador de inicio e um de fim, no intervalo entre esses delimitadores fosse inserido um caracter, por exemplo " - " ( um traço ), ou seja, gostaria que ao invés de explicitar as palavras "arquivo" e "]" como delimitadores estas fossem variáveis lidas anteriormente e as linhas que estiverem entre estas variáveis tenha um traço incluso no seu inicio.

EX:
arquivo 2teste.txt

a
b
c
d
e
f

prompt$ inicio=b
prompt$ fim=e

prompt$ sed '/${inicio}/,/${fim}/ { /${inicio}/ b ; /${fim}/ b ; s/^/­­­/ ; }' 2teste.txt

a
b
---c
---d
e
f


  


2. Re: Ajuda com SED

Denis Doria
thuck

(usa Debian)

Enviado em 25/01/2008 - 12:58h

Cara; somente com sed não sei sua resposta... mas utilizando outras ferramentas creio que funcione; se é que entendi oq vc quer hehehe:

INICIO=$(fgrep -m1 -n b 2teste.txt|cut -d: -f1)
FIM=$(fgrep -m1 -n e 2teste.txt|cut -d: -f1)
INICIO=$((++INICIO))
FIM=$((--FIM))

sed "${INICIO},${FIM} s/^/--/" 2teste.txt






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts