elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 06:47  


Tema destacado: Grupo de Facebook de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez., EleKtro H@cker)
| | |-+  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 Ir Abajo Respuesta Imprimir
Autor Tema: Acciones sobre archivos de texto. [Batch]  (Leído 54,309 veces)
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #135 en: 6 Julio 2011, 23:37 »

¿En dónde te han encargado hacer esto?

Código
@echo off
setlocal enabledelayedexpansion
for /f %%_ in ('type file.txt ^| find /v /c ""') do set /a n_lines=%%_, medio=n_lines / 2
set i=0
for /f "tokens=*" %%_ in (file.txt) do (
set /a i+=1
if !i! leq !medio! (echo %%_ >> temp1.txt) else (echo %%_ >> temp2.txt)
)

El resultado se guarda en temp1.txt y el otro en temp2.txt.

Saludos.


En línea

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

leorocko13@hotmail.com
https://github.com/leogtzr/
wigo69

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #136 en: 6 Julio 2011, 23:43 »

muchas gracias, esto me lo pidieron en la u para un trabajo pero no sabiamos mucho, cosas vagas y hemos ido aprendiendo mediante tu post :)


En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #137 en: 7 Julio 2011, 00:01 »

Mmmm, no sabía que les enseñaban Batch en la universidad.
En línea

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

leorocko13@hotmail.com
https://github.com/leogtzr/
wigo69

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #138 en: 7 Julio 2011, 00:04 »

disculpa que te moleste denuevo lo que sucede es que ise un texto llamado texto1.txt
tiene 10 lineas 5 son de letras y 5 de numeros
al compilar el codigo y cambiando file por texto1.txt cuando ejecuto no me pesca no se si debo cambiar algunos otros parametros

Código
@echo off
setlocal enabledelayedexpansion
for /f %%_ in ('type texto1.txt ^| find /v /c ""') do set /a n_lines=%%_, medio=n_lines / 2
set i=0
for /f "tokens=*" %%_ in (texto1.txt) do (
set /a i+=1
if !i! leq !medio! (echo %%_ >> temp1.txt) else (echo %%_ >> temp2.txt)
)
 
asi lo deje solo cambie el file
muchas gracias por tu respuesta y disculpa las molestias
« Última modificación: 7 Julio 2011, 00:17 por Leo Gutiérrez. » En línea
wigo69

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #139 en: 7 Julio 2011, 00:07 »

es un profesor de Sistema operativo xD que no nos ise certamen 3 por tiempo y nos dio un trabajo pero sin saber que no sabiamos casi nada yo por ejemplo nada y nos dio tiempo hasta el viernes, no necesito nota pero la idea no es sacarse un 1 y de pasadita aprender xD

gracias por tu ayuda :)
En línea
wigo69

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #140 en: 7 Julio 2011, 00:19 »

disculpa mi pregunta funciona y super bien muchisimas gracias por tu ayuda :) ahora estare actualizando y viendo esta pagina no la conocia y es super buena, de verdad muchas gracias por tu tiempo :)

adios cuidate mxo :)
En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #141 en: 7 Julio 2011, 00:21 »

Estás haciéndolo bien.

Código
@echo off
setlocal enabledelayedexpansion
for /f %%_ in ('type file.txt ^| find /v /c ""') do set /a n_lines=%%_, medio=n_lines / 2
set i=0
for /f "tokens=*" %%_ in (file.txt) do (
set /a i+=1
if !i! leq !medio! (echo %%_ >> temp1.txt) else (echo %%_ >> temp2.txt)
)

file.txt tiene las líneas que quieres dividir.

La primera mitad la tiene "temp1.txt", la segunda "temp2.txt".

Tienes que tener en cuenta en que el script agrega siempre, así que a cada corrida del script tiene que borrar antes temp1.txt y temp2.txt ya que siempre estará agregando. Pruebalo y me cuentas.
En línea

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

leorocko13@hotmail.com
https://github.com/leogtzr/
wigo69

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #142 en: 7 Julio 2011, 00:23 »

si si funciono super bien fue por que ando matando moscas xD muchísimas gracias por todo de verdad no conocía esto y realmente me gusto estaré visitando esta pagina para actualizar mi conocimiento.

agradezco mucho tu tiempo.

cuídate mucho y que dios te Bendiga
En línea
PTT69

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #143 en: 7 Julio 2011, 02:55 »

Hola leo, tengo una duda que no pude solucionar con los codigos
de la primera página

cómo puedo hacer que cambie "una" sola palabra a mayuscula y no todo
el texto?

ejemplo

"La depresión es la forma mas común del sufrimiento mental. Que es la depresión? Los test para la depresión causante de serios problemas"

cambiemos depresión

"La DEPRESION es la forma mas común del sufrimiento mental. Que es la DEPRESION? Los test para la DEPRESION causante de serios problemas"

Cuando hago esto:

 :silbar:

Código
@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type texto.txt') do (
set linea=%%x
set linea=!linea:depresión=DEPRESION!
call :show !linea!
)
goto:eof
:show
echo %* >> out.txt
goto:eof
 
no me deja pasar al codigo
 :¬¬

Código
@echo off
echo Palabra depresión Sale:
type texto.txt | find /i /c "depresión"
 
pause

para contar la cantidad

Si me puedes ayudar porfavor, de antemano muchas gracias  :rolleyes:
« Última modificación: 7 Julio 2011, 06:42 por Leo Gutiérrez. » En línea
PTT69

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #144 en: 7 Julio 2011, 03:19 »

lo deje asi:

Código
@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type texto.txt') do (
set linea=%%x
set linea=!linea:depresión=DEPRESION!
call :show !linea!
)
goto:eof
:show
echo %* >> out.txt
 
@echo off
echo Palabra depresión Sale:
type texto.txt | find /i /c "depresión"
pause
goto:eof

y me sale :

palabra depresion sale:  :o
0
presione una tecla.....
palabra depresion sale:  :¬¬
2
presione una tecla......

como hacerlo sin goto:eof, esto está fallando  :-\
« Última modificación: 7 Julio 2011, 06:42 por Leo Gutiérrez. » En línea
pitoloko


Desconectado Desconectado

Mensajes: 2.500


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #145 en: 7 Julio 2011, 04:25 »

lo deje asi:

@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type texto.txt') do (
set linea=%%x
set linea=!linea:depresión=DEPRESION!
call :show !linea!
)
goto:eof
:show
echo %* >> out.txt

@echo off
echo Palabra depresión Sale:
type texto.txt | find /i /c "depresión"
pause
goto:eof

y me sale :

palabra depresion sale:  :o
0
presione una tecla.....
palabra depresion sale:  :¬¬
2
presione una tecla......

como hacerlo sin goto:eof, esto está fallando  :-\

Como hacer sin goto:eof, ¿El que?

No se porque dices que no funciona?


Código
@echo off
setlocal enabledelayedexpansion

 
REM Visita Foro.ElHacker.Net

 
 
echo Palabra "Depresi¢n" Sale:
type texto.txt | find /i /c "depresión"
 
for /f "Tokens=*" %%a in ('type texto.txt') do (
set linea=%%a
set linea=!linea:depresión=DEPRESION!
call :show !linea!
)
 
pause >nul
 
:show
echo %* >> out.txt
goto:eof

Lowerit.exe - Convierte texto a minúsculas.

Upperit - Convierte texto a MAYÚSCULAS.


http://foro.elhacker.net/scripting/batch_packs_de_aplicaciones_varias_commandlineinterface_actualizado_05mayo-t322976.0.html
« Última modificación: 7 Julio 2011, 04:27 por pitoloko » En línea

pa que
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #146 en: 7 Julio 2011, 07:29 »

El código de pitoloko funciona, lo he probdo.
En línea

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

leorocko13@hotmail.com
https://github.com/leogtzr/
PTT69

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #147 en: 7 Julio 2011, 19:38 »

A mi no me funciona, me dice depresión sale 2 y en verdad son 3
pero en fin, a lo que voy es que la idea es hacer el mayúscula en primer lugar, después de ese código hacer el resto, me explico:

Primero la mayúscula:  :silbar:
Código:
@echo off
setlocal enabledelayedexpansion
for /f "Tokens=*" %%a in ('type texto.txt') do (
set linea=%%a
set linea=!linea:depresión=DEPRESION!
call :show !linea!
)
pause >nul
:show
echo %* >> out.txt
goto:eof
Seguir con el contar Lineas ::)
Código:
@echo off
echo Total de Lineas:
type out.txt | find /v /c "" < out.txt
pause
Y terminar con cantidad de palabra DEPRESION  :o
Código:
@echo off
echo Palabra depresion Sale:
type out.txt | find /i /c "DEPRESION"

pause
Gracias Pitoloko, pero no me funk  :rolleyes:

primero me cuenta la palabra, sale 2, son 3, y despues me cambia a mayus, la idea es hacer lo contrario, primero la mayus, y seguir con los codigos hacia abajo.

alguna idea?  :-\
« Última modificación: 7 Julio 2011, 19:44 por PTT69 » En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #148 en: 7 Julio 2011, 19:48 »

Código:
type out.txt | find /v /c "" < out.txt


Eso está mal, debería ser así:
Código
type out.txt | find /v /c ""
En línea

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

leorocko13@hotmail.com
https://github.com/leogtzr/
PTT69

Desconectado Desconectado

Mensajes: 5



Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #149 en: 7 Julio 2011, 20:09 »

Así esta la cosa



Borré lo que me dijiste
Lo ejecuto y me sale nada:



Después aprieto Enter y se cierra, y tambien genera el archivo out.txt
donde me cambia a mayus y borra los saltos de línea



La idea no es cambiar el orden de los códigos, ese es el drama  :-\
En línea
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines