Cara... Eu imagino que não seja sempre A COB REDUZIDA, naquele campo, senão ate diria pra voce usar o sed com substituição por numero de ocorrencia, ou seja:
# sed 's/\ /_/8' Ai ele vai substituir a 8a. ocorrencia do " " (espaço) por _ e depois voce pode fazer seu tr ' ' '@' normalmente que nao via pegar essa string... O problema é que deve ter ligações que diferem o numero de espaços em branco da linha, então vejo duas coisas: Ou usa o awk e faz um "percorre" do caracter X até Y e substitui espaço por _, ou o que eu acho bem mais pratico Veja os padroes que ocorrem com espaço e predetermina q esses devem ser substituidos por outro sem espaço, tipo: $ sed -i 's/A COB REDUZIDA/A_COB_REDUZIDA/;s/A COB NORMAL/A_COB_NORMAL/;s/DDD REDUZIDO/DDD_REDUZIDO/' arquivo O numero de variações que devem ocorrer no campo ali nao deve ser tao grande... Sorte, Flávio do Carmo Junior On 7/12/07, Alfredo Casanova <[EMAIL PROTECTED]> wrote: > > Eu faria o seguinte > antes de dar o sed que troca os espaços por @ (alias, vc pode usar o > espaço > em branco como delimitador no cut, não precisaria fazer isso, pelo que > vi), > vc dá um sed que substitui a string A COB REDUZIDA por alguma outra coisa, > tipo "ACBRRDZ" ou algum codigo mais criativo e legível hehehe > assim vc poderia diminuir o tamanho dos seus arquivos e manter a essência > das informações. > Depois é só usar o cut e tratar suas informações :) > > > On 7/12/07, brunogcorrea <[EMAIL PROTECTED]<brunogcorrea%40yahoo.com.br>> > wrote: > > > > Olá. > > > > Faço faculdade e moro em uma república com mais algumas pessoas. > > Depois de algum tempo conferindo os gastos telefônicos de cada um no > > papel resolvi fazer um programinha para dividir as contas > > automaticamente. Numa nova versão, estou tentando utilizar um shell > > script para organizar a conta de telefone que é baixada do site da > > telefonica. A conta vem toda bagunçada, e sem nenhum delimitador para > > cada um dos campos. Um exemplo está aqui: > > > > 036 25/06/07 46323433 POA SP 23H16M56 1,9 A COB REDUZIDA 0,87 > > > > Utilizando o sed e o grep consigo transformar vários espaços em branco > > em um @ (delimitador). No entanto, por exemplo, o campo TARIFA (A COB > > REDUZIDA) possui espaços em branco e, portanto, tais espaços não > > poderiam ser substituídos pelo delimitador. Da maneira que consegui > > fazer, a 'tupla' ali de cima fica: > > > > [EMAIL PROTECTED]/06/[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL > > PROTECTED],[EMAIL PROTECTED]@[EMAIL PROTECTED]@0,87 > > > > E a minha dúvida é a seguinte: Há possibilidade de eu fazer com que > > ela fique da seguinte maneira: > > > > [EMAIL PROTECTED]/06/[EMAIL PROTECTED]@POA [EMAIL PROTECTED]@1,[EMAIL > > PROTECTED] COB [EMAIL PROTECTED],87 > > > > Ou seja, depois eu conseguirei recuperar a string "A COB REDUZIDA" > > inteira, pois não há delimitador entre as palavras. > > > > Acho que o awk pode ser útil, mas ainda não consegui entender bem seu > > funcionamento... > > > > Obrigado. > > > > p.s. Entrei no grupo faz pouco tempo, mas tenho acompanhado > > regularmente as discussões, e estou gostando e aprendendo muito! > > Parabéns a todos do grupo! > > > > > > > > -- > []'s > Alfredo Casanova > Linux User #228230 > icq: 15793271 > msn: [EMAIL PROTECTED] <atcasanova%40gmail.com> > aim: alfredotcasanova > yim: atcasanova2 > tel: +55 61 84137319 > As aves têm na boca um dente chamado bico > > [As partes desta mensagem que não continham texto foram removidas] > > > [As partes desta mensagem que não continham texto foram removidas]
