(Solucionado) [BATCH] Problema usando SED.exe

Iniciado por Eleкtro, 7 Diciembre 2011, 03:14 AM

0 Miembros y 1 Visitante están viendo este tema.

Eleкtro

Hola, tengo este archivo de texto


** Caption Number 5
*PopOn
*T 00:00:07:78
*BottomUp
*Lf01
Titulo : Viento de Tormenta

** Caption Number 6
*PopOn
*T 00:00:08:31
*BottomUp
*Lf01



Y lo que intento es borrar todas las lineas que empiezan con el signo * ¿Como puedo hacerlo?

He intentado esto pero no borra la linea entera:
Código (dos) [Seleccionar]
SED.EXE "/*/ s/*//Ig" C:\2.txt > C:\3.txt

y tambien he probado esto:
Código (dos) [Seleccionar]
SED.EXE "/*/ s/*//Ig" "--line-length=0" C:\2.txt > C:\3.txt








leogtz

Prueba con:
type file.txt | sed "/^*/d"
Titulo : Viento de Tormenta
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Eleкtro

#2
Muxas Gracias Leo funciona, justo antes de leer tu respuesta estaba probando: sed -e "/*/d" 1.txt>2.txt y parece que hace lo mismo xD

Pero ahora tengo otro problema...

En estas lineas por ejemplo:
[02:26.00]me estoy dando rienda suelta,  
[02:29.18]no se los cuentes a nadie.  
[02:32.19][02:58.66]Por mas que me invento,  
[02:34.81][03:00.13]nadie se cree mis cuentos  


¿Como hago para borrar SOLO los números y los caracteres?...

He intentado usar SED así: [**:**.**] pero me borra la linea entera :/

También he pensado en hacerlo con un for... pero claro, en las 2 primeras lineas hay una celda, y en las últimas 2 lineas son 2 celdas de números así que... esto no me funciona:

Código (dos) [Seleccionar]
@echo off
For /F "tokens=1,* delims=]" %%a in ('Type "1.txt"') do (echo. %%b >> 2.txt)
exit




EDITO: bueno yo creo que con un FOR si que se podria (¿Un FOR al revés?), o suando SED no se... aqui está el texto original por si sirve de algo:

[49][68]Artista: Estopa
[68][77]Álbum: Allenrok
[77][83]Titulo : Viento de Tormenta
[83][312][00:42.16][00:54.47][01:04.79][01:10.90][01:23.93][01:36.41][01:43.12][02:01.62][02:08.86][02:17.88][02:30.89][02:43.51][02:57.31][03:09.11]
[312][347]Cuando decido cambiar de actitud,
[347][372]cuando no hay nada que me salga bien.
[372][395]Cuando me creo cualquier espejismo
[395][432]hablo conmigo mismo y vuelvo a caer.
[432][460]Cuando los besos saben a verdad,
[460][491]cuando lo que quiero es querer creer
[491][513]Cuando asfalto mis ojos de alquitrán
[513][551]que en el cielo no dan casitas de alquiler.
[551][576]Cuando me enfrento a mis tormentos,
[576][597]siempre a merced del viento,
[597][651]me pongo y me siento lejos...lejos.
[651][666][02:11.27]Me muerde cada remordimiento,
[666][687][02:13.50]se nota que estoy dando rienda
[687][714][02:15.72]suelta a mis demonios.
[714][772][02:20.53]Corren fuertes vientos de tormenta,
[772][790][02:24.15]como no vivo del aire,
[790][822][02:26.00]me estoy dando rienda suelta,
[822][852][02:29.18]no se los cuentes a nadie.
[852][879][02:32.19][02:58.66]Por mas que me invento,
[879][899][02:34.81][03:00.13]nadie se cree mis cuentos
[899][923][02:36.75][03:01.88]y no me cuadran las cuentas,
[923][942][02:39.28][03:04.35]me buscas y no te encuentro,
[942][985][02:41.12][03:06.32]y si no te busco, me encuentras.
[985][1011]Cuando quiero quedarme un poco más,
[1011][1041]siempre con una pregunta: ¿qué hacer?
[1041][1063]Cuando me arrastro entre la oscuridad,
[1063][1101]y todo el mundo se va, me piro yo también.
[1101][1131]Cuando me quedo fuera de lugar,
[1131][1160]cuando no me apetece aun volver,
[1160][1184]me cuesta tanto mantener el rumbo
[1184][1222]en este mar profundo, me quiero perder...
[1222][1246]Mis peores temores y miedos,
[1246][1266]se apagan como se apaga
[1266][1661]esta noche al compás del tiempo.
[1661][1702]Esto no es un simulacro, repito,
[1702][1727]esto no es un simulacro,
[1727][1939]no lo es, ¡esto es Estopa!
[1939][1959]Angel Ayach








Eleкtro

ya está, lo he conseguido haciendo un for, dejo el code aqui

Un saludo!


Código (dos) [Seleccionar]
@echo off

For /F "tokens=1,2,* delims=]" %%a in ('Type "5.txt"') do (
Set "linea=%%c"
Call :Edit
)

exit


:Edit
Echo "%linea%" | find "]"
if %errorlevel% equ 1 (
Echo  %Linea%>>good.txt
Goto :EOF
) ELSE  (
Set linea=%linea:~10%
Goto :Edit
)



:Resultado

Artista: Estopa
Álbum: Allenrok
Titulo : Viento de Tormenta
Cuando decido cambiar de actitud,
cuando no hay nada que me salga bien.
Cuando me creo cualquier espejismo
hablo conmigo mismo y vuelvo a caer.
Cuando los besos saben a verdad,
cuando lo que quiero es querer creer
Cuando asfalto mis ojos de alquitrán
que en el cielo no dan casitas de alquiler.
Cuando me enfrento a mis tormentos,
siempre a merced del viento,
me pongo y me siento lejos...lejos.
Me muerde cada remordimiento,
se nota que estoy dando rienda
suelta a mis demonios.
Corren fuertes vientos de tormenta,
como no vivo del aire,
me estoy dando rienda suelta,
no se los cuentes a nadie.
Por mas que me invento,
nadie se cree mis cuentos
y no me cuadran las cuentas,
me buscas y no te encuentro,
y si no te busco, me encuentras.
Cuando quiero quedarme un poco más,
siempre con una pregunta: ¿qué hacer?
Cuando me arrastro entre la oscuridad,
y todo el mundo se va, me piro yo también.
Cuando me quedo fuera de lugar,
cuando no me apetece aun volver,
me cuesta tanto mantener el rumbo
en este mar profundo, me quiero perder...
Mis peores temores y miedos,
se apagan como se apaga
esta noche al compás del tiempo.
Esto no es un simulacro, repito,
esto no es un simulacro,
no lo es, ¡esto es Estopa!
Angel Ayach









leogtz

Prueba acortando el código con esto:

Código (dos) [Seleccionar]
echo %linea% | find "]" && (
echo %linea% >> good.txt
goto:eof
) || (
Set linea=%linea:~10%
Goto :Edit
)
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

Eleкtro