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

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

Problema com script envolvendo SED e TR


From: Fabio Costa
Subject: Problema com script envolvendo SED e TR
Date: Wed, 18 Oct 2006 13:48:03 -0300
User-agent: Mozilla Thunderbird 1.0.8 (X11/20060417)

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]



reply via email to

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