[FUG-BR] OT: script

Patrick Tracanelli eksffa em freebsdbrasil.com.br
Quinta Novembro 27 13:42:56 BRST 2014


> On 27/11/2014, at 13:29, Pedro Silva <pedro.flum em gmail.com> wrote:
> 
>> Não é que não funciona, é que o que você está esperando é o comportamento
>> do gsed (gnu sed, tem no ports).
>> 
>> No BSD Sed voce pode fazer:
>> 
>> sed ’s/ /;/g’ file.txt
>> sed 's/[[:blank:]]/;/g’ file.txt
>> 
>> Entendeu a primeira opção? É um TAB literal (pressione tab).
>> 
>> Veja:
>> % cat teste.txt
>> uia     isso
>> e       isso
>> 
>> % sed ’s/       /;/g' teste.txt
>> uia;isso
>> e;isso
>> 
>> % sed 's/[[:blank:]]/;/g' teste.txt
>> uia;isso
>> e;isso
>> 
>> No FreeBSD voce simplesmente da um tab. No OS X voce da Ctrl+V depois TAB
>> e vai imprimir o TAB literal. Mas pro que voce quer [[:blank:]] talvez
>> atenda como acima.
>> 
>> Portanto nao é que n funciona, é apenas diferente. Como bash é diferente
>> do sh e vim é diferente do vi, gsed é diferente do sed, mas no Linux enfiam
>> tudo com o mesmo nome. Até o ls no Linux é outro (gnuls).
>> 
>> 
>> 
>> 
>> 
> A segunda opção (sed 's/[[:blank:]]/;/g' teste.txt) funcionou
> perfeitamente;

Legal! :-)

> não pude testar a primeira (tab literal), pois no momento só
> tenho acesso ao meu FreeBSD por ssh.

Nesse caso voce pode mandar imprir o TAB com o echo do /bin/sh

/bin/sh -c “echo -n \t\t” 

Ou ir pra /bin/sh e digitar:

sed 's|$(echo -e \\t)|;|g’ file.txt

Ou dependendo do terminal ele pode levar o TAB pra voce por ssh, acho que putty faz isso. Aqui uso o mate-terminal que faz isso. No OS X o iTerm também. 

> No BSD sed o "\tab" não representa o
> tab?

Não entendi, voce diz \t? Ou \tab mesmo? \tab não representa nada, \tab sera entendido como tab (string) e \\tab como \tab (string).

> Na segunda opção o "[[:blank:]]" representa tab ou null?

tab ou espaço ou CS ou CR sem \n nem ^M

> 
> Obrigado Patrick

[]s :-)

> 
> -- 
> Pedro Silva
> Fedora User
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

--
Patrick Tracanelli

FreeBSD Brasil LTDA.
Tel.: (31) 3516-0800
316601 em sip.freebsdbrasil.com.br
http://www.freebsdbrasil.com.br
"Long live Hanin Elias, Kim Deal!"



Mais detalhes sobre a lista de discussão freebsd