ola

qual a finalidade do segundo sed ?

vc não poderia usar AWK passando o separador de campos como sendo a virgula?

On 10/18/06, Fabio Costa <[EMAIL PROTECTED]> wrote:
>
> Olá, Pessoal!
>
> Meu nome é Fábio Costa e estou começando em Shell, tendo estudado tanto
> pelo "Papo de Botequim" do Júlio Neves (Fantástico) quanto pelo livro de
> Shell Script do mesmo (simplesmente necessário). Mas preciso de uma
> força e creio que vocês podem me dar uma forcinha em uma encrenca séria
> que estou tendo com o Shell.
>
> Estou com um problema em um script shell que estou bolando aqui para o
> meu serviço. O objetivo do mesmo é pegar um arquivo CSV e extrair alguns
> dados dele. Na linha de comando, já tinha tentado o comando:
>
> head -n 1 $1 | sed 's/,/\n/g' | sed 's/"//g'
>
> E conseguido de maneira bem sucedida separar os nomes dos campos. Porém,
> esses nomes contêm espaços em branco e quando eu tento usar o comando:
>
> all_params=`head -n 1 $1 | sed 's/,/\n/g' | sed 's/"//g'`
>
> no meu Shell Script, ele coloca os nomes dos campos separados pelos
> espaços, o que não quero (quero que ele separe linha a linha, pois é
> como eu converto no segundo 'sed').
>
> Além disso, tentei definir antes dessa linha a variável IFS para "\n",
> mas tudo que consegui foi fazer uma confusão dos diabos.
>
> Como exemplo, criei esse arquivo anexado (sed-test.txt), e rodei no
> take_value.sh em questão (tive que remover alguns trechos que são
> específicos do serviço meu, mas nada que vá interferir no que preciso
> desvendar :P ) e o resultado de passar o arquivo 'sed-test.txt' nele foi:
>
> teste
> de
> linha
> outro
> teste
> de
> linha
> mais
> um
> teste
> de
> linha
>
> Enquanto que quando usei o comando da variável all_params em um
> terminal, o resultado foi:
>
> teste de linha
> outro teste de linha
> mais um teste de linha
>
> Conforme esperado.
>
> Estou no Linux, Fedora Cora 2, shell "GNU bash, version
> 3.00.16(1)-release (i386-redhat-linux-gnu)".
>
> Alguma sugestão? Agradeço antecipadamente por qualquer retorno...
>
> --
>
> Obrigado!
>
> Fábio Emilio Costa              Analista de Software Básico I
> SERPRO - Serviço Federal de Processamento de Dados
> Performance - Ambiente Distribuído          SUPCD/CDGTI/CDGS1
> email: [EMAIL PROTECTED]                 Notes:fabioc
> Ramal: (#11) 1513
>
>
>
>
> "Esta mensagem do SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO), empresa 
> pública federal regida pelo disposto na Lei Federal nº 5.615, é enviada 
> exclusivamente a seu destinatário e pode conter informações confidenciais, 
> protegidas por sigilo profissional. Sua utilização desautorizada é ilegal e 
> sujeita o infrator às penas da lei. Se você a recebeu indevidamente, queira, 
> por gentileza, reenviá-la ao emitente, esclarecendo o equívoco."
>
> "This message from SERVIÇO FEDERAL DE PROCESSAMENTO DE DADOS (SERPRO) -- a 
> government company established under Brazilian law (5.615/70) -- is directed 
> exclusively to its addressee and may contain confidential data, protected 
> under professional secrecy rules. Its unauthorized use is illegal and may 
> subject the transgressor to the law's penalties. If you're not the addressee, 
> please send it back, elucidating the failure."
>   ----------
>
> "teste de linha","outro teste de linha","mais um teste de linha"
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como 
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: [EMAIL PROTECTED]
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em 
> http://www.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
> Links do Yahoo! Grupos
>
>
>
>


-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como 
perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio 
aviso.
---------------------------------------------------------------------
Sair da lista: [EMAIL PROTECTED]
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil

 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a