Foros del Web » Programación para mayores de 30 ;) » Programación General »

BATCH: Unir un listado de palabras de dos archivos TXT línea por línea

Estas en el tema de BATCH: Unir un listado de palabras de dos archivos TXT línea por línea en el foro de Programación General en Foros del Web. No consigo unir/concatenar cadenas de texto ni variables. Quiero unir dos archivos TXT que contienen un listado de palabras linea por linea o fila por ...
  #1 (permalink)  
Antiguo 02/08/2011, 08:39
Avatar de CYCLONUX  
Fecha de Ingreso: septiembre-2010
Mensajes: 228
Antigüedad: 14 años, 3 meses
Puntos: 25
Pregunta BATCH: Unir un listado de palabras de dos archivos TXT línea por línea

No consigo unir/concatenar cadenas de texto ni variables.

Quiero unir dos archivos TXT que contienen un listado de palabras linea por linea o fila por fila con o sin espacio de separación para las dos palabras exportando todo a un nuevo archivo TXT o LOG.

Ambos archivos tienen el mismo número de lineas o filas
esto hace menos complicado elaborar el Script.

Las palabras no tienen espacio al principio ni al final, y no quiero combinar las palabras/juntarlas. Tienen que quedar dos palabras por cada linea. Aunque no importaria si a uno de los archivos le añado espacio al principio o al final de cada palabra al generarlo, ya que se generan excluyendo información con..

El archivo TXT original lo genera un programa.
A partir de este se generan dos archivos FILE1.TXT y FILE2.TXT
Ambos archivos FILE*.TXT contienen información extraida del TXT original
Ya intente con un Script que procese ambos archivos generando uno solo FILE.TXT pero el resultado siempre es el mismo, o consigo un resultado desordenado o repetitivo de las palabras que extraigo o hago exclusión.
@echo off
FINDSTR /C:"texto a excluir del archivo de texto" FILE1.txt> file1-output.txt

setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type file1-output.txt') do (
set linea=%%x
set linea=!linea:texto a excluir para file1-output2.txt =Texto a incluir!
call :show !linea!
)
goto:eof
:show
echo %* >> C:\CMDTEXT\file1-output2.txt
goto:eof
He tratado conbinando codigos y secuencias de comandos y scripts que usan:
ECHO, TYPE, COPY, FOR, FIND, FINDSTR, SET, CALL, DO, GOTO, IF, ELSE, TRUE, SKIP, EOL, USEBACKQ, TOKENS, DELIMS, |, &.

Todo lo que consigo es unir el contenido de los archivos como si hubiese utilizado secuencias simples que generan el mismo resultado.
  • FINDSTR /C:"Hola A1" "Hola B1" "*.txt" >> output.txt
  • FOR %%x IN (*.TXT) DO FINDSTR /C:"Hola A1" /C:"Hola B1" %%x >> output.log
  • FOR %%x IN ('TYPE *.TXT') DO FINDSTR /C:"Hola A1" /C:"Hola B1" %%x >> output.log
  • TYPE *.TXT>> output.log
  • COPY /b FILE1.txt + FILE2.txt output.log
  • TYPE *.log | SORT /+10
Estas secuencias de comandos son las que contaminan los resultados de Google. Y dificulta mucho encontrar algo más avanzado, o que haga exáctamente lo que quiero para luego modificarlo un poco.

Exporto a un archivo .txt porque la información en pantalla no coincide siempre con lo que se imprime en output.txt pero igual ejecuto la secuencia sin exportar a un txt para ver lo que ocurre en pantalla.

Etiquetas: batch, bath, cmd, concatenar, filas, lineas, txt
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:51.