[FUG-BR] OT: script

Patrick Tracanelli eksffa em freebsdbrasil.com.br
Quinta Novembro 27 13:38:29 BRST 2014


> On 27/11/2014, at 13:03, Renato Botelho <rbgarga em gmail.com> wrote:
> 
>> On Nov 27, 2014, at 12:16, Patrick Tracanelli <eksffa em freebsdbrasil.com.br> wrote:
>> 
>> 
>>> On 27/11/2014, at 09:28, Pedro Silva <pedro.flum em gmail.com> wrote:
>>> 
>>> O que achei interessante foi o "sed" do Linux funcionar e o "sed" do
>>> FreeBSD não funcionar de jeito nenhum.
>>> 
>>> No Linux (Fedora 20) o comando sed 's/\t/;/g' file.txt teve o efeito que eu
>>> esperava; no FreeBSD não acontece nada.
>>> 
>>> Tirei o CRLF com o comando tr -d '\15' < file.txt > file-1.txt e mesmo
>>> assim não funcionou no sed do FreeBSD
>>> 
>>> Com o AWK também funcionou certinho.
>>> 
>>> Obrigado a todos pelas dicas.
>>> 
>>> Se alguém descobrir porque o sed do FreeBSD 9.1 não funciona, agradeceria.
>>> 
>>> Obrigado
>> 
>> 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.
> 
> Eu não sugeri o :blank: porque no arquivo dele a primeira coluna tem nomes separados por espaços, e eles seriam trocados por ;

Eu nem vi o sample dele, fiz o meu e testei as cegas hehehe :P

> No fim das contas sobraram opções pra resolver o caso, e isso é sempre o mais legal :)

É, daria com awk, tr como vc sugeriu, e outras coisas menos elegantes tipo perl, python...

> 
> --
> Renato Botelho
> 
> -------------------------
> 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