shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Problema com script envolvendo SED e TR


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Problema com script envolvendo SED e TR
Date: Wed, 18 Oct 2006 14:02:17 -0300

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 <address@hidden> 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: address@hidden                 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: address@hidden
---------------------------------------------------------------------
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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]