Ms-Dos - Tratar toda la línea de un fichero

 
Vista:

Tratar toda la línea de un fichero

Publicado por Gema (1 intervención) el 20/11/2007 11:07:22
Hola, necesito tratra todas las líneas de un fichero volcandolas a otro fichero anteponiéndole a cada línea el nombre del fichero.
Para ello estoy utilizando en un .bat lo siguiente:

for /F "delims=eol" %%i in (%1) do @echo %1:%%i >> %2

siendo %1 el nombre del fichero, %2 el nombre del nuevo fichero.

Pero no soy capaz que se vuelque toda la línea del fichero, con delims=eol me corta la línea en cuanto encuentra uno de esos caracteres. La línea puede tener espacios por medio y quiero llevarlo todo al nuevo fichero.

¿Podríais ayudarme? Como le puedo decir que vuelque hasta el final de la línea "cr lf". Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tratar toda la línea de un fichero

Publicado por Antoni Masana (295 intervenciones) el 21/11/2007 06:11:55
El MS-DOS es un quiero y no puedo. Permite hacer muchas cosas pero no todas las que se necesitan.

En esta pagina http://openetwork.com/berk.html encontraras una ( o varias ) utilidad de UNIX para MS-DOS.

La que en este caso interesa es awk

La sintaxis basica de la operativa es la siguiente:

@echo off
set File=%1
echo {printf("%%s:%%s\n",nom,$0)} >temp.awk
awk -f temp.awk -v nom=%File% %File%
del temp.awk

Es una especie de interprete que tiene su propio lenguaje de comandos (perecido al C, mas o menos) sirve para tratar fichero de texto y hacer calculos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tratar toda la línea de un fichero

Publicado por Jonatan (2 intervenciones) el 26/01/2008 17:46:48
creo que los ficheros en msdos, las lineas terminan en " ", prueba a combinar esos simbolos.
Por eso si editas un fichero en un editor UNIX que solo utiliza el caracter terminador de linea " ", un editor msdos te escribe todo el texto en una sola linea.
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tratar toda la línea de un fichero

Publicado por Jonatan (2 intervenciones) el 26/01/2008 17:47:27
creo que los ficheros en msdos, las lineas terminan en " ", prueba a combinar esos simbolos.
Por eso si editas un fichero en un editor UNIX que solo utiliza el caracter terminador de linea " ", un editor msdos te escribe todo el texto en una sola linea.
Tambien puedes probar con "$_"
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar