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

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

CSV Parsing


From: Dorneles Treméa
Subject: CSV Parsing
Date: Wed, 26 Mar 2003 22:58:10 -0300
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030319 Debian/1.3-3

Olá pessoal,

preciso de uma luz... :-)

Estou iniciando um script que vai parsear um
arquivo CSV, na verdade separado por ";", e
executar algums comandos dependendo do conteúdo.

O arquivo é composto por várias linhas no formato:

campo1;campo2;campo3;campoN

Eu estou tentando usar o $IFS para separar as
linhas e depois as colunas, mas ainda não tive
sucesso.

Primeiro problema: pegar linha a linha do arquivo.

----------------------

old_IFS="$IFS"
IFS="\012"

for linha in `cat $1` ; do
  echo $linha
done

IFS="$old_IFS"

----------------------

Isso deveria mostrar cada uma das linhas certo?
Mas não mostra... (devo estar errando em algo)

A minha ideia é pegar cada uma das linhas e passar
para uma função.

Segundo teste: passar a linha para uma função
que quebre os campos.

----------------------

processa() {
   /path/to/comando $1 $3
}

for linha in `cat $1` ; do
  processa $linha
done

----------------------

Onde eu chamo um comando usando apenas alguns dos
campos passados.

Deve ser simples, mas eu devo ter perdido o cérebro
essa semana em algum lugar... ;-)

Valeu.

T+

-- 

Dorneles Treméa
Caxias do Sul - RS - Brasil
+55 54 9114 9312 - UIN: 2413568
X3ng Web Technology <http://www.x3ng.com.br>

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS/IT d- s:->: a23 C+++ UBL++++$ P--- L++ E-- W+++
N++ o? K? w+ O M+ V-- PS+ PE- Y-- PGP++ t+ 5 X++ R+
tv+ b(++) DI+ D++ G+>+++ e++>++++ h---- r+++ y+++**
------END GEEK CODE BLOCK------



[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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