[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]
- CSV Parsing,
Dorneles Treméa <=