Acciones sobre archivos de texto. [Batch]

Iniciado por leogtz, 24 Enero 2009, 00:30 AM

0 Miembros y 8 Visitantes están viendo este tema.

KamuiDNA

#60
problema resuelto. thx

leogtz

Coloca tu código con la etiqueta GeShi, sino borraré el mensaje.
Código (perl) [Seleccionar]

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

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

leogtz

Necesitamos el contenido de ISLA_Diaria.txt.
Código (perl) [Seleccionar]

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

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

KamuiDNA

#63
problema resuelto. thx

KamuiDNA


astral_153

Hola soy nuevo en esto xD....    Necesito su ayuda para organizar el contenido de un documento de texto....  De mayor a menor..........

Ej:

File.txt

5
8
9
3
5
8
4
5
2
6


Y quiero que me salga

File.txt

9
8
8
6
5
5
5
4
3
2

Gracias de antemano xD xD xD

El foro es muy bueno e interesante.. me ha ayudado mucho.........  ;-) xD
"Toda teoría es gris y sólo es verde el árbol de dorados frutos que es la vida"

leogtz

¿Has usado el comando sort?

Código (dos) [Seleccionar]
type file.txt | sort
type file.txt | sort -r
sort < file.txt
Código (perl) [Seleccionar]

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

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

astral_153

¿Has usado el comando sort?

Código
type file.txt | sort
type file.txt | sort -r
sort < file.txt


gracias por el comado, no lo conocia aun... que do perfecto...... lo utilice de la siguiente manera.
Citar@ echo off

type file.txt | sort /r

pause

solamente hay un pequeño problema.....
si pongo cantidades mas alta las organiza por el primer numero....


Ej:

Citar88
77
66
8855
214
1
1111
1
sale asi
Citar8855
88
77
66
214
1111
1
1
y deberia salir de esta manera...
Citar1111
214
88
77
66
1
1
asi estaria organizado del mas alto al mas pequeño por cantidad
Graciass.. Nuevamente.   ;D
"Toda teoría es gris y sólo es verde el árbol de dorados frutos que es la vida"

leogtz

Bueno, una vez más está comprobado que las herramientas que da Windows son una reverenda porquería:

Código (dos) [Seleccionar]

C:\>type file.txt
88
77
66
8855
214
1
1111
1


C:\>type file.txt | sort

1
1
1111
214
66
77
88
8855

C:\>


Hice este código que lo resuelve:
Código (dos) [Seleccionar]

@echo off
setlocal enabledelayedexpansion
set contador=0
for /f "eol= tokens=* delims=" %%x in (names.txt) do (
set /a contador+=1
set "linea[!contador!]=%%x"
)
:: Algoritmo bubble sort:
for /l %%i in (1, 1, %contador%) do (
for /l %%j in (1, 1, %contador%) do (
if !linea[%%j]! lss !linea[%%i]! (
set "temporal=!linea[%%i]!"
set "linea[%%i]=!linea[%%j]!"
set "linea[%%j]=!temporal!"
)
)
)
for /l %%_ in (1, 1, !contador!) do (
echo Linea : !linea[%%_]!
)


Con un simple algoritmo bubble sort bastó:


C:\>type file.txt
88
77
66
8855
214
1
1111
1


C:\>code.bat
Linea : 8855
Linea : 1111
Linea : 214
Linea : 88
Linea : 77
Linea : 66
Linea : 1
Linea : 1

C:\>


¿Para qué querías ordenar ese archivo?

Por cierto el código también sirve para ordenar cadenas de caracteres:


C:\>type file.txt
Carlos
Lupe
Leo
Adriana
Yareli

C:\>code.bat
Linea : Yareli
Linea : Lupe
Linea : Leo
Linea : Carlos
Linea : Adriana

C:\>



Saludos.
Código (perl) [Seleccionar]

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

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

leogtz

Cita de: KamuiDNA en 17 Mayo 2010, 22:56 PM
Alguna idea de por que no funciona ?

Cuando no ayudo es porque no me especifican bien que es lo que quieres, o porque no me dejas una salida de como debiera quedar el archivo de texto, así que te sugiero pongas el mensaje de nuevo explicando paso a paso qué es lo que quieres.

Saludos.
Código (perl) [Seleccionar]

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

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