Editar Archivo, Especial La Primer Linea?


Objetivo: Editar Archivo, Especial La Primer Linea?
tengo un script que genera un archivo tras el transcurso de un tiempo en un terminal:

/usr/local/etc/captura.txt


bien, este archivo es de configuración, en la primeras 4 lineas tiene la configuración necesaria para que el script continué con lo suyo sin problemas, pero suele pasar no muy seguido que el archivo se completa mal o no se logro guardar una parte de este y hay que realizar todo de nuevo.

1.- lo que necesitaría es poder abrir este archivo y editar la primer linea
2.- mas bien también se me ocurrió tener un archivo dentro del gambas para colocarlo allí, re nombrarlo con el nombre correspondiente y para terminar editar la primer linea
3-. o mejor crear el archivo y meterle dentro todo lo necesario tomando el primer dato de un textbox (ejemplo) y guardarlo

un solo problema es que internamente el archivo debe tener un texto X, el cual consta de 10.000 lineas y pueda que no sea txt (no esta compilado). Me gusto mas la ultima, alguien me guía

Perfil MP  
Objetivo: Re: Editar Archivo, Especial La Primer Linea?
Para la 3 opcion se me ocurre esto:

PUBLIC SUB Form_Open()
DIM cadena AS String

cadena = "hola esto va a la primera linea\n esto va a la 2 linea\n"


File.Save(User.home & "/hola.txt", cadena)
SHELL "cat " & User.home & "/hola.txt > definitivo.txt "
SHELL "cat " & User.home & "/fichero_largo.txt >> definitivo.txt"


END


Usa dos veces el comando de linux "cat" para crear el archivo "definitivo.txt", el contenido de del fichero "hola.txt" se lo pasa primero mediante ">" y luego le añade el contenido de "fichero_largo.txt" con ">>".

Nota:
Da igual que sea .txt (texto), o contenido binario, cat lo va a unir de todos modos.

Objetivo: Re: Editar Archivo, Especial La Primer Linea?
PUBLIC SUB Form_Open()
DIM cadena AS String
DIM lineaprimera AS String

cadena = lineaprimera & "\n esto va a la 2 linea\n y asi vamos a las 10.000\n"

File.Save("/usr/local/etc/captura.txt", cadena)
SHELL "cat " & "/usr/local/etc/" & "/captura.txt > pepino.txt "
SHELL "cat " & "/usr/local/etc/" & "/fichero_largo.txt >> definitivo.txt"

END


ahora faltaría re nombrarlo con un SHELL mas y listo. gracias

Perfil MP  
Objetivo: Re: Editar Archivo, Especial La Primer Linea?
jsbsan escribió: [Ver mensaje]
Para la 3 opcion se me ocurre esto:

PUBLIC SUB Form_Open()
DIM cadena AS String

cadena = "hola esto va a la primera linea\n esto va a la 2 linea\n"


File.Save(User.home & "/hola.txt", cadena)
SHELL "cat " & User.home & "/hola.txt > definitivo.txt "
SHELL "cat " & User.home & "/fichero_largo.txt >> definitivo.txt"


END


Usa dos veces el comando de linux "cat" para crear el archivo "definitivo.txt", el contenido de del fichero "hola.txt" se lo pasa primero mediante ">" y luego le añade el contenido de "fichero_largo.txt" con ">>".

Nota:
Da igual que sea .txt (texto), o contenido binario, cat lo va a unir de todos modos.


el problema ahora esta en q si agrego las 10.000 lineas en:

cadena = "hola esto va a la primera linea\n esto va a la 2 linea\n"

gambas se cuelga, va si agrego apenas unas cuantas, se torna muy lento y es imposible de trabajar así.

Perfil MP  
Objetivo: Re: Editar Archivo, Especial La Primer Linea?
Citar:
el problema ahora esta en q si agrego las 10.000 lineas en:

cadena = "hola esto va a la primera linea\n esto va a la 2 linea\n"


Agregaselas con el comando "cat", este va ha ser mas rápido que gambas en añadirle las 10.000 lineas

Objetivo: Re: Editar Archivo, Especial La Primer Linea?
ahora entendi jeje pero me funcionaba solamente en User.home, y con el fichero_largo.txt mas o menos corto.

File.Save("/usr/local/etc/hola.txt", cadena)
SHELL "cat " & "/usr/local/etc/" & "/hola.txt > program.config "
SHELL "cat " & "/usr/local/etc/" & "/fichero_largo.txt >> program.config"


no se crea el archivo program.config

igual lo solucione, deje que se creara en User.home y lo muevo con:
SHELL "cp " & program.config & " /usr/local/etc/"


luego al cerrar el formuario:

SHELL "rm " & User.Home & "/hola.txt"


y borro los demás archivos y listo. me queda el archivo final en el directorio q quería.

última edición por Agamenon el Martes, 21 Febrero 2012, 23:08; editado 2 veces
Perfil MP  
Objetivo: Re: Editar Archivo, Especial La Primer Linea?
Realmente no entiendo muy bien lo que quieres hacer, pero veo cosas que no son muy lógicas. Por ejemplo intentar guardar archivos de configuración en rutas fuera de tu Home o usar funciones de shell para hacer cosas que gambas puede realizar perfectamente con sus propias instrucciones.

Generalmente los ficheros de configuración de aplicaciones se suelen guardar en una carpeta oculta bajo el directorio de usuario, o bien dentro de una carpeta bajo el directorio oculto .config. gambas también tiene herramientas para trabajar con ficheros de configuración (véase la clase Settings) y para copiar, borrar o concatenar strings (Copy, Kill, etc). Evidentemente, cualquier intento de modificar o crear archivos fuera del directorio de usuario resultarán en un error, ya que no tendrás permisos de escritura al no ser root.

Aquí tienes un resumen de las funciones para archivos y carpetas de gambas.

http://gambasdoc.org/help/cat/file?es


P.D. Por cierto, Agamenon: mi niña lleva dos noches sin dormir después de haber visto tu avatar!!!


Saludos

Perfil MP  
Objetivo: Re: Editar Archivo, Especial La Primer Linea?
trankilo, ya se soluciono, no uso linux (ubuntu) como usuario normal, siempre uso root, directamente borre el usuario normal e inicio sesión como root.

y este archivo de .conf, lo genera un script y lo deja justo en ese directorio. y no todos los programas dejan un archivo .conf en el home oculto, algunos lo dejan donde esta el mismo archivo "ejecutable".

gracias por la ayuda.

jguardon escribió: [Ver mensaje]


P.D. Por cierto, Agamenon: mi niña lleva dos noches sin dormir después de haber visto tu avatar!!!

Saludos


ejje es beavis, jaja ahora pongo una de mi generación. jeje lml

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4089s (PHP: -77% SQL: 177%)
Consultas SQL: 45 - Debug off - GZIP Activado