> On Nov 27, 2014, at 13:29, Pedro Silva <pedro.f...@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; não pude testar a primeira (tab literal), pois no momento só > tenho acesso ao meu FreeBSD por ssh. No BSD sed o "\tab" não representa o > tab?
A primeira linha do seu arquivo vai ser danificada, ‘Position X’ vai virar ‘Position;X’ usando a opção com [[:blank:]]. Não, o sed BSD não vai entender o \t como TAB. > Na segunda opção o "[[:blank:]]" representa tab ou null? http://www.regular-expressions.info/posixbrackets.html -- Renato Botelho ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd