disculpa, como tinenes separados los campos? , en el primer correo no queda claro, porque lo que se dice en el otro correo lo importante es saber la separación de los registros, estando en linux mandriva es facil determinar si estan claros los campos de cada registro en este caso un salto de linea asi que

Nombre:Nombre del contacto
Teléfono: número de telfono
Url: url del contacto
etc...

el primer campo es Nombre, el segundo es Teléfono etc. pero no dice como se separan los registros, si los registros se separan por un linea en blanco entoces usamos awk para crear un archivo cvs ejemplo tengo el archivo con los datos, asi lo leo con cat y obtengo el listado

$cat archivo
Nombre:Orlando1
Telefono:234567
Url:http://cualquiera1.edu.co
Otro:adicional1

Nombre:Orlando2
Telefono:234567
Url:http://cualquiera2.edu.co
Otro:adicional2

Nombre:Orlando3
Telefono:234567
Url:http://cualquiera3.edu.co
Otro:adicional3

Nombre:Orlando4
Telefono:234567
Url:http://cualquiera4.edu.co
Otro:adicional4

Nombre:Orlando5
Telefono:234567
Url:http://cualquiera5.edu.co
Otro:adicional5

Tomo awk y pongo que los registros corresponden a lineas vacias y que el separador de campos es una linea nueva RS="";FS="\n"; ademas le agrego que el separador de campos nuevo va a ser ";" o cualquier otro que no se vaya a confundir con los datos entrados OFS=";" y por ultimo le doy que me imprima la salida con todos los campos o tambien con campos escogidos y ahora tengo que adecuarlo a mi salida, es decir debo quitar los nombres de los campos, en este caso Nombre:, Telefono:, Url:, y Otro: remplazando por nada esto lo hago con sed s/NombreCampo//g luego lo grabo a un archivo tipo cvs

cat archivo |awk 'BEGIN {RS="";FS="\n";OFS=";"} {print $1,$2,$3,$4} ' |sed s/Nombre://g|sed s/Telefono://g|sed s/Url://g|sed s/Otro://g >salida.cvs

cat salida.cvs

Orlando1;234567;http://cualquiera1.edu.co;adicional1
Orlando2;234567;http://cualquiera2.edu.co;adicional2
Orlando3;234567;http://cualquiera3.edu.co;adicional3
Orlando4;234567;http://cualquiera4.edu.co;adicional4
Orlando5;234567;http://cualquiera5.edu.co;adicional5

y listo haces lo demas que te dijeron a partir del archivo cvs


Hola Mikel, la forma que yo encontré lleva varios pasos. Si alguien
conoce un modo más fácil, coméntelo en la lista para beneficio de todos!!!
Te cuento como hago yo:

1. Formateo el archivo de texto txt y lo guardo como csv
2. Convierto el archivo csv en ods, es decir una hoja de cálculo
3. Abro la base de datos donde quiero guardar el archivo, selecciono
toda la hoja de cálculo y la arrastro a la base de datos para importarla.

Explicación más detallada de cada uno de los pasos:

1. Una base de datos es en realidad una tabla, e. d. una hoja de cálculo
más herramientas de consulta y formularios. Por ende, tienes que
convertir el texto plano en una hoja de cálculo. ¿Cómo? Formateando el
texto para que OOo reconozca los campos. Cada línea de texto va a
transformarse en una fila de OOo calc y luego esa fila en un registro de
OOo Base, el secreto está en saber indicar las columnas. Como ejemplo
voy a usar de separador la *
En la primera linea, tienes que definir lo que serán los campos de tu
base de datos, escribe p.e.
Apellido*Nombre*Dirección*Email*URL
En las lineas siguientes van los registros, si un contacto no tiene
alguno de los datos, lo dejas en blanco
Perez*José*calle [EMAIL PROTECTED]
Lopez*Pedro*calle yy**
[EMAIL PROTECTED]

Como vez, a Pedro López no le puse ni Email ni Url y a Rodriguez ni
dirección ni URl, en el registro esos campos estarán vacíos, pero en el
arcivo de texto hay que poner el separador de campos, en este caso *
Guarda el archivo .txt como .csv, ejemplo contactos.txt como contactos
csv. Si estas con el Block de Notas de Win ten cuidado que no te lo
guarde como contactos.csv.txt!!!! (Aunque tu agente de usuario es
KNode/9.0.2 tienes por suerte Linux!!!) NOTA: tienes que trabajar SÍ o
SÍ con un editor de texto plano, si trabajas con Writer mira bien de
guardarlo como txt plano primero y selecciona ver los caracteres no
imprimibles para controlar los saltos de lineas, pues la primera linea
define los campos, y las siguientes los registros. Debe ir UN registro
por línea.


2. El segundo paso es convertir ese archivo de texto en una hoja de
cálculo OOo. Simplemente desde cualquier tipo de documento OOo ve a
Archivo, Abrir. Te aparecerá un cuadro de diálogo de importacón de csv a
OOo Calc.El cuadro se titula "Importar texto". Selecciona "A partir de
linea 1". En Opciones de separación, Separado, Otro y escribe en este
caso *, que es el signo que escogi para separa los campos. No te olvides
de destildar la Coma. Si todo está bien hecho, en el recuadro de abajo
vas a poder previzualizar tu hoja de calc. Mira que los registros con
campos vacíos hayan quedado bien!!!
Acepta y se crea la hoja de cal, guardala con formato ods.

3. El paso final es crear la base de datos. Abre la base que ya tengas
registrada o crea una nueva. En el marco de la izquierda "Bases de
datos" selecciona "Tablas". Pinta toda la hoja de calc y con el mouse
arrástrala a la base, en el marco derecho inferior que dice "Tablas", y
te aparecerá un cuadro de importación de cal a base: "Copiar tabla".
Selecciona copiar la definición (es decir la primera linea de calc es la
def. de campos de base) Y los datos (las siguientes lineas son los
registros de tu base). Luego "Aceptar columnas", selecciona los campos,
y en "Formateado de tipos" dale formato a los campos, presta atención a
la cantidad de caracteres por campo!!!
Y listo!!!!!!! Crea tu base de datos!!!!!!!!

Espero que haya sido claro.
Así es como lo hago YO, puede haber formas más fáciles!!!!!

Saludos y suerte.
Ariel, desde La Plata, Argentina.

PD. te envio adjunto el archivo .csv y .ods que hice de prueba, ábrelo
con el editor de texto. Como ves, da resultado!!!!


Mikel Goni escribió:
Hola!
Lo primero de todo me gustaría agradecer de antemano cualquier respuesta
o sugerencia.
Tengo un archivo de texto con una lista de contactos que incluyen
direcciones números de telefono notas, etc..
Esta lista está en un archivo de texto plano (txt) y tiene este formato:
Nombre:Nombre del contacto
Teléfono: número de telfono
Url: url del contacto
etc...
cada campo corresponde a una linea.
El problema es que no todos los contactos incluyen todos los campos y por
lo tanto no puedo pasar de texto a tabla y de ahí (supongo) a una base de
datos.
Lo que quiero es pasar cada uno de estos contactos a un registro de una
base de datos.
Modificar todos los registros a mano no es viable pues son un montón y un
simple error me dejaría la tabla inservible.
Mi pregunta es ¿incluye OOo una herramienta o combinación de ellas para
realizar esta tarea?
  h estado explorando el tema de las macros pero no tengo ni idea de
Basic,¿puedo encontrat alguna macro o script que haga lo que quiero?
¿Alguna opción externa a OOo? Uso Mandriva Gnu/Linux
Reiterando miagradecimiento me despido,
Mikel G

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Hola Ariel!
Ante todo muchas gracias por tomarte la molestia de responder. He estudiado tu sistema, pero, como me temía no me sirve, si fuera un
documento más pequeño me podría permitir el lujo de repasar campo y
registro uno a uno. Pero como he dicho es inviable. Necesito algo que funcione en base al reconocimiento de cadenas de
caracteres. Puesto que en el comienzo de cada línea tengo, por suerte, el
tipo de información que incluye la línea.
De todas formas gracias de nuevo.
Un saludo
Mikel G

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



___________________________________

AVISO LEGAL: El presente correo electronico no representa la opinion o el 
consentimiento oficial de la PONTIFICIA UNIVERSIDAD JAVERIANA. Este mensaje es 
confidencial y puede contener informacion privilegiada la cual no puede ser 
usada ni divulgada a personas distintas de su destinatario. Esta prohibida la 
retencion, grabacion, utilizacion, aprovechamiento o divulgacion con cualquier 
proposito. Si por error recibe este mensaje, por favor destruya su contenido y 
avise a su remitente.
En este aviso legal se omiten intencionalmente las tildes.

Este mensaje ha sido revisado por un sistema antivirus, por lo que su contenido 
esta libre de virus.
This e-mail has been scanned by an antivirus system, so its contents is free of 
viruses.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Responder a