Comand sed com várias expressões [RESOLVIDO]

1. Comand sed com várias expressões [RESOLVIDO]

danilo
danilosampaio

(usa Debian)

Enviado em 08/02/2013 - 09:54h

Pessoal,

Tô precisando de uma ajuda. Eu tenho um script que uso do comando 'sed', mas como eu preciso tratar várias expressões, gostaria de fazer quebras de linha para organizar meu código. Assim:

sed -e "s/function//" # comentário 1
-e "s/{//" # comentário 2
-e "s/ *= *//" # comentário 3

Mas dessa forma, ocorre o erro " -e: command not found".

Alguém poderia me ajudar?




  


2. MELHOR RESPOSTA

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 08/02/2013 - 09:58h

O certo é barra invertida, ficando assim:


sed -e "s/function//" \
-e "s/{//" \
-e "s/ *= *//" \


3. Re: Comand sed com várias expressões [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 08/02/2013 - 10:14h

Quase isso. Não pode ter barra invertida no final da última linha.


4. Re: Comand sed com várias expressões [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 08/02/2013 - 10:17h

paulo1205 escreveu:

Quase isso. Não pode ter barra invertida no final da última linha.


E pq não?


5. Re: Comand sed com várias expressões [RESOLVIDO]

danilo
danilosampaio

(usa Debian)

Enviado em 08/02/2013 - 10:18h

renato_pacheco escreveu:

O certo é barra invertida, ficando assim:


sed -e "s/function//" \
-e "s/{//" \
-e "s/ *= *//" \


Oi renato,

Ainda tá dando o mesmo erro... vou colocar aqui a minha função completa:


function teste(){
egrep ".*function\b" "$1" |
sed -e "s/function//" \
-e "s/{//" \
-e "s/ *= *//" \
-e "s/^ *var *//" \
-e "s/^\/\*//" \
-e "s/^\/\///" \
-e "s/^ *//" \
-e "s/^(.*//" \
-e "s/ *( */|/" \
-e "s/ *) *//"
}



6. Re: Comand sed com várias expressões [RESOLVIDO]

danilo
danilosampaio

(usa Debian)

Enviado em 08/02/2013 - 10:24h

Resolvido!!

A barra resolveu, na verdade o erro estava ainda ocorrendo porque porque tinha um espaço depois da barra invertida, ai nesse caso, a barra tava fazendo escape do espaço, e não da quebra de linha.

Obrigado!!


7. Re: Comand sed com várias expressões [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 08/02/2013 - 10:58h

renato_pacheco escreveu:

paulo1205 escreveu:

Quase isso. Não pode ter barra invertida no final da última linha.


E pq não?


Porque, se tiver, vai emendar com a linha que vier logo abaixo, tornando-a argumentos para o sed.

Deixar a barra pode não ter problema se depois do comando vier uma linha em branco, e talvez também não dê problema se se achar o final do arquivo. Mas como você e eu não sabemos o que virá depois no script dele, o mais seguro é não colocar tal barra.


8. Re: Comand sed com várias expressões [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 08/02/2013 - 11:10h

paulo1205 escreveu:

Deixar a barra pode não ter problema se depois do comando vier uma linha em branco, e talvez também não dê problema se se achar o final do arquivo. Mas como você e eu não sabemos o que virá depois no script dele, o mais seguro é não colocar tal barra.


Mas ele já colocou (era uma função). Então não tem problemas.


9. Re: Comand sed com várias expressões [RESOLVIDO]

Paulo
paulo1205

(usa Ubuntu)

Enviado em 08/02/2013 - 12:58h

Não sei se você reparou, mas ele NÃO COLOCOU a barra invertida na última linha do sed. Se o tivesse feito, teria, na melhor das hipóteses, dado erro de sintaxe (pois o sinal de "}" não seria interpretado como fim do corpo da função, mas como arquivo a ser processado pelo sed).


10. Re: Comand sed com várias expressões [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 08/02/2013 - 13:10h

paulo1205 escreveu:

Não sei se você reparou, mas ele NÃO COLOCOU a barra invertida na última linha do sed. Se o tivesse feito, teria, na melhor das hipóteses, dado erro de sintaxe (pois o sinal de "}" não seria interpretado como fim do corpo da função, mas como arquivo a ser processado pelo sed).


Ah, sim, isso é verdade.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts