elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Acciones sobre archivos de texto. [Batch]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 35 Ir Abajo Respuesta Imprimir
Autor Tema: Acciones sobre archivos de texto. [Batch]  (Leído 346,759 veces)
geoclima

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #40 en: 7 Marzo 2010, 15:09 »

hola

he estado consultando el las distintas respuesta pero sigo teniendo un problema cuando intento crear un archivo. Os cuento.

Yo tengo un archivo XML llamado p11xand1.xml:
Código:
<root id="and">
<elaborado>2010-03-06T06:00:00</elaborado>
<validez_ini>2010-03-06T06:00:00</validez_ini>
<validez_fin>2010-03-07T00:00:00</validez_fin>
<actualizacion></actualizacion>
<prediccion>
<fenom_sign>
<p>
PRECIPITACIONES QUE PODRAN SER PERSISTENTES, LOCALMENTE FUERTES Y<br/>
OCASIONALMENTE ACOMPANADAS DE TORMENTAS EN EL TERCIO OCCIDENTAL Y<br/>
EL AREA DEL ESTRECHO DURANTE LA MANANA. VIENTOS FUERTES DE<br/>
COMPONENTE ESTE EN CEUTA Y EL LITORAL MEDITERRANEO, DONDE HABRA<br/>
RACHAS DE MUY FUERTES.
</p>
<p>
<br/>
</p>
</fenom_sign>
<txt_prediccion>
<p>
MUY NUBOSO O CUBIERTO CON PRECIPITACIONES MODERADAS, MAS<br/>
FRECUENTES E INTENSAS EN EL TERCIO OCCIDENTAL Y AREA DEL ESTRECHO,<br/>
DONDE PODRAN SER PERSISTENTES, LOCALMENTE FUERTES E IR ACOMPANADAS<br/>
DE TORMENTAS DURANTE LA MANANA, DISMINUYENDO LA INTENSIDAD POR LA<br/>
TARDE. LA COTA DE NIEVE SE SITUARA ALREDEDOR DE 1300 METROS EN LA<br/>
MITAD ORIENTAL.TEMPERATURAS EN LIGERO A MODERADO DESCENSO, MAS<br/>
ACUSADO EN LA MITAD OCCIDENTAL. VIENTOS DEL SUDESTE, FLOJOS A<br/>
MODERADOS EN EL INTERIOR Y MODERADOS A FUERTES EN EL LITORAL<br/>
ATLANTICO Y ZONAS ALTAS DEL INTERIOR, SIENDO FUERTES DEL ESTE EN<br/>
EL LITORAL MEDITERRANEO, DONDE HABRA RACHAS DE MUY FUERTE, MELILLA<br/>
Y CEUTA. LEVANTE MODERADO A FUERTE EN EL ESTRECHO.
</p>
</txt_prediccion>
</prediccion>
</root>

este archivo no tiene la cabecera para la transformación xsl y con un bat añado la cabecera que tengo en otro archivo

el archivo BAT
Código:
@echo off
(
ECHO 1d
ECHO E
) | EDLIN /B p11xand1.xml > nul 1>&0
type prevision.add > p11xand1.tmp
type p11xand1.xml >> p11xand1.tmp
move /y p11xand1.tmp p11xand1.xml
del p11xand1.bak

coge la cabecera del archivo prevision.add
Código:
<?xml version="1.0" encoding="ISO-8859-15" ?>
<?xml-stylesheet type="text/xsl" href="prevision.xsl"?>
y lo uno todo en el archivo original obteniendo al final un archivo con el mismo nombre p11xand1.xml con el contenido:
Código:
<?xml version="1.0" encoding="ISO-8859-15" ?>
<?xml-stylesheet type="text/xsl" href="prevision.xsl"?>
<root id="and">
<elaborado>2010-03-06T06:00:00</elaborado>
<validez_ini>2010-03-06T06:00:00</validez_ini>
<validez_fin>2010-03-07T00:00:00</validez_fin>
<actualizacion></actualizacion>
<prediccion>
<fenom_sign>
<p>
PRECIPITACIONES QUE PODRAN SER PERSISTENTES, LOCALMENTE FUERTES Y<br/>
OCASIONALMENTE ACOMPANADAS DE TORMENTAS EN EL TERCIO OCCIDENTAL Y<br/>
EL AREA DEL ESTRECHO DURANTE LA MANANA. VIENTOS FUERTES DE<br/>
COMPONENTE ESTE EN CEUTA Y EL LITORAL MEDITERRANEO, DONDE HABRA<br/>
RACHAS DE MUY FUERTES.
</p>
<p>
<br/>
</p>
</fenom_sign>
<txt_prediccion>
<p>
MUY NUBOSO O CUBIERTO CON PRECIPITACIONES MODERADAS, MAS<br/>
FRECUENTES E INTENSAS EN EL TERCIO OCCIDENTAL Y AREA DEL ESTRECHO,<br/>
DONDE PODRAN SER PERSISTENTES, LOCALMENTE FUERTES E IR ACOMPANADAS<br/>
DE TORMENTAS DURANTE LA MANANA, DISMINUYENDO LA INTENSIDAD POR LA<br/>
TARDE. LA COTA DE NIEVE SE SITUARA ALREDEDOR DE 1300 METROS EN LA<br/>
MITAD ORIENTAL.TEMPERATURAS EN LIGERO A MODERADO DESCENSO, MAS<br/>
ACUSADO EN LA MITAD OCCIDENTAL. VIENTOS DEL SUDESTE, FLOJOS A<br/>
MODERADOS EN EL INTERIOR Y MODERADOS A FUERTES EN EL LITORAL<br/>
ATLANTICO Y ZONAS ALTAS DEL INTERIOR, SIENDO FUERTES DEL ESTE EN<br/>
EL LITORAL MEDITERRANEO, DONDE HABRA RACHAS DE MUY FUERTE, MELILLA<br/>
Y CEUTA. LEVANTE MODERADO A FUERTE EN EL ESTRECHO.
</p>
</txt_prediccion>
</prediccion>
</root>
el problema.... que cuando se crea el archivo combinado aparece un espacio al final del archivo, detrás de </root> de modo que el navegador web no lo abre. Como puedo hacer este proceso (en bat preferiblemente) y que el archivo final se pueda abrir, es decir que después de </root> no haya ningun espacio?

Muchas gracias!!!!! de antemano!


« Última modificación: 7 Marzo 2010, 17:05 por Leo Gutiérrez. » En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #41 en: 7 Marzo 2010, 17:09 »

Podrías detectar la línea que quieres corregir, meterla en una variable y editarla con EDLIN.

O podrías usar extracción de caracteres para eso.
En la noche veo si tengo acceso a una máquina con Windows y te ayudo.


En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
geoclima

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #42 en: 7 Marzo 2010, 17:27 »

Hola! aquí está el problema! cuando se unen los dos archivos aparecen unos espacios en blanco al final y esto hace que el archivo xml no se pueda abrir. Esperaré tu respuesta! Gracias!!
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #43 en: 7 Marzo 2010, 17:31 »

Ponme el archivo ya creado con el problema(los espacios esos que comentas).
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
geoclima

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #44 en: 7 Marzo 2010, 18:03 »

Aquí tienes los archivos:

el archivo original es p11xand1.xml

http://www.dalmaubover.org/meteorol/p11xand1.xml

además hay el archivo prediccion.add que contiene la cabecera que se le tiene que añadir al xml

Esto es porque para visualizarlos utilizo la plantilla prevision.xsl

http://www.dalmaubover.org/meteorol/prevision.xsl

Para unirlos tengo este archivo bat "cabecera.bat" que primero borra la primera linea de p11xand1.xml y luego escribe en de nuevo el archivo poniendo primero el texto de prediccion.add y luego el otro archivo sin la primera linea. El archivo final se llama p11xand1f.xml.

http://www.dalmaubover.org/meteorol/cabecera.bat
http://www.dalmaubover.org/meteorol/prediccion.add

http://www.dalmaubover.org/meteorol/p11xand1f.xml

Pero como puedes comprovar el archivo final no se puede abrir pues al final del documento hay unos espacios en blanco que no dejan bien formado el archivo xml y por lo tanto no se puede abrir.


¿Sería muy complicado hacer este mismo proceso con Perl??
« Última modificación: 7 Marzo 2010, 23:36 por geoclima » En línea

geoclima

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #45 en: 8 Marzo 2010, 22:09 »

Hola Leo,

subí los archivos a mi servidor para que puedas chequearlos. Una pregunta.... como seria el mismo proceso en PERL, es decir

unir el contenido del archivo prediccion.add y p11xand1.xml para obtener un tercer archivo que se pueda abrir sin problema en el navegador?

ALBERT
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #46 en: 9 Marzo 2010, 00:00 »

Es que no te pido que subas todos los archivos y demás, solo que me pongas el archivo aquí mismo, pegalo y etiquetalo y hazme evidente el error que tiene, para poder tratarlo.

Así me lo complicas mucho.

A simple vista se nota que el problema lo deja edlin al editar, deja un caracter al final de las líneas.

Podríamos usar sed(no está en Windows, hay que descargarlo) para eliminar dicha línea.
Código
  1. @echo off
  2. :: Conseguir el numero de lineas:
  3. for /f "tokens=1" %%_ in ('type "shit.txt" ^| find /v /c ""') do (set /a n_lines="%%_");
  4. :: Eliminar la ultima linea:
  5. sed %n_lines%d "shit.txt"

Claro que necesitas a sed.
El archivo "shit.txt" lo cambias por tu archivo a modificar.

O incluso más facil:
Código:
type "file.txt" | sed $d
« Última modificación: 9 Marzo 2010, 00:39 por Leo Gutiérrez. » En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
M_A_R_T_I_N

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #47 en: 12 Marzo 2010, 19:38 »

Hola, la verdad que me fue muy util, pero tengo un tema que no pude resolver:

Quiero modificar una linea que empieza con < y el bat se me queda diciendo que no esperaba <

Ej:

Código:
111
222
333

y quiero que quede:

Código:
111
<span style="font-size: 10pt; color: blue; font-f...........
333

Estoy usando:

Código:
@echo off
(
echo 'aca pongo la linea que modifico
echo "   <span style="font-size: 10pt; color: blue; font-f.......
echo w
echo e
) | edlin /b c:\mail\prepos.htm

Si le pongo comillas me lo modifica, pero cuando abro el htm me muestra las comillas, se podran sacar de alguna manera? Una queda al principio de la linea y la otra al final.

El script anda perfecto pero se queda con el signo <

Desde ya muchas gracias, es el primer mensaje que escribo si algo esta mal en la redecion del mensaje avisenme.

Muchas Gracias.
« Última modificación: 12 Marzo 2010, 21:46 por M_A_R_T_I_N » En línea

xassiz_

Desconectado Desconectado

Mensajes: 273


Ich werde dich töten..


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #48 en: 14 Marzo 2010, 14:28 »

Añade "^" antes del carácter.
En línea



YXVuIGVyZXMgbWF0YWRvIHBhcmEgcG9uZXJ0ZSBhIGRlc2NpZnJhciBlc3RvIHhE
leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #49 en: 14 Marzo 2010, 17:09 »

Añade "^" antes del carácter.

Para EDLIN no es válido.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Páginas: 1 2 3 4 [5] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 35 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Modificar archivos de texto [batch] [Perl] « 1 2 »
Scripting
bjeli1980 10 9,962 Último mensaje 17 Mayo 2010, 09:07
por bjeli1980
[BATCH] Ayuda guardando archivos de texto a php
Scripting
Geormarsch 2 2,678 Último mensaje 20 Septiembre 2011, 16:33
por Poderoscuro1207
[BATCH] [APORTE] Rutina TEXTMAN para manipular archivos de texto
Scripting
Eleкtro 2 5,248 Último mensaje 15 Marzo 2014, 15:17
por FranciskoAsdf
Como puedo arrastrar y concatenar archivos de texto en un BATCH
Scripting
PUCH84 6 6,680 Último mensaje 28 Abril 2014, 09:49
por PUCH84
Ayuda con batch para crear archivos de texto plano
Scripting
seu230 6 805 Último mensaje 5 Octubre 2018, 10:28
por seu230
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines