Ayuda com archivo de texto, por favor.[Solucionado]

Iniciado por carlosguay, 14 Diciembre 2009, 20:09 PM

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

carlosguay

Llevo mucho tiempo liado com un bat, para manipular archivos binarios, osea com bytes.
He tenido muchos trompiesos y ya solo me queda uno por resolver, a ver si alquien sabria ayudarme, ya que no se donde leer mas, ni como solucionar este poblema.

Tengo archivos como he dicho antes asin.

CitarAA BB CC DD EE FF
AA BB CC DD EE FF

Y necesito ponerlo asin, para pasarlos a un archivo bin.

CitarAA BB CC DD EE FF AA BB CC DD EE FF

Lo que necesito es que los bytes, esten correlativos y no de linea en linea.
Vereis si fueran pocos bytes, pues se podria hacer a mano, pero estoy manejando miles de bytes, por eso estoy com el bat liado, para manipularlos.

Se que primero tengo que hacer algo como esto.


Citar@echo off
setlocal enabledelayedexpansion
for /f "tokens=1" %%_ in ('type "file.txt" ^| find /v /c ""') do (set "lineas=%%_";)
set /a "contador=0"
for /f "eol= tokens=* delims=" %%_ in (file.txt) do (
set /a "contador+=1"
set "linea!contador!=%%_"
)

Pero como puedo seguir, una manita o alguna idea, que estoy bastante harto ya de este bat.

saludos

~ Yoya ~

ps si lo tienes asi:
AA BB CC DD EE FF
AA BB CC DD EE FF


Y lo quieres asi:
AA BB CC DD EE FF AA BB CC DD EE FF

Lo que deberias hacer es hacer con bat algo que quite el fin de linea, ps como sabras yo no manejo mucho bat, manejo perl xD.
Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

leogtz

#2
Una solución perlera también es válida, publicala.
Código (perl) [Seleccionar]
open(my $file, q[<], "file.txt") or die("El archivo no se pudo leer.\n$!");
while(<$file>)
{
chomp($_);
print $_;
}
close($file);


A ver, como prueba tenemos el archivo "file.txt" con el siguiente contenido:

AA BB CC DD EE FF
AA BB CC DD EE FF


Y yo lo quiero así:

AA BB CC DD EE FF AA BB CC DD EE FF

Código (dos) [Seleccionar]

@echo off
for /f "tokens=*" %%_ in (file.txt) do (<nul set /p "=%%_ ";)
echo.
echo Demas texto...
set /p "="
exit /b 0


La salida que me da es esta:

C:\>code
AA BB CC DD EE FF AA BB CC DD EE FF
Demas texto...

C:\>


Y ahora que estoy en mi Ubuntu funcionaria esto:
cat "file.txt" | tr '\n' ' '
Código (perl) [Seleccionar]

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

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

carlosguay

Que grandes que soys, GRACIASSSSSS, sin vosotros nunca lo habia conseguido.

Me funciona perfecto, gracias de verdad.

un saludo