Pergunta : Adicionar dados extra à direita dos dados comuns entre limas


Eu tenho duas limas onde em ambos, as posições de caráter 1 10 são as mesmas, porém na segunda lima eu desejo copiar tudo da posição de caráter 101 à extremidade de linha, na primeira lima onde os caráteres 1 10 são os mesmos.

Está isto possível em um ambiente do dos?

Por exemplo
File1:
0019283743 34 23 34 .....
2935782983 23 53 96….
0125892837 95 23 53….

File2:
0019283743  53 22 67 .... 23532.2035 235693
2935782983  64 75 74 .... 62837.2958 683023

Saída:
0019283743 34 23 34…. 23532.2035 235693
2935782983 23 53 96…. 62837.2958 683023
0125892837 95 23 53….

Como você pode ver quando 1 a 10 for os mesmos 11 a 100 difere. …. é o descanso dos dados até a coluna 100.

Estas limas podem estar muito grandes, a uma largura e a um comprimento, por exemplo o número de registros excederá 100000 registros

Resposta : Adicionar dados extra à direita dos dados comuns entre limas

Não é eficiente, mas esta é uma aproximação. Ajustar os três vars no início a suas limas.
A lima de grupo está supor que o valor “chave” dos primeiros 10 carvões animais é original, pelo menos em file2. Mais você começ somente a última linha encontrada lá para cada chave.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
@echo fora
EnableDelayedExpansion setlocal
ajustar file1=file1.txt
ajustar file2=file2.txt
expr =output.txt

copiar o nul “%out%”
para /F do “delims=” %%A do tokens=* usebackq dentro (“%~file1%”) fazer (
  ajustar key=%%A
  ajustar o key=! chave: ~, 10!
  ajustar line=%%A
  para delims=” %%B tokens=* de /F do “dentro (“findstr /B /L /c: ”! chave! ““%~file2%” ") fazem (
     ajustar line=%%B
     ajustar line=%%A! linha: ~100!
  )
  >> eco de “%~out%”! linha!
)
Outras soluções  
 
programming4us programming4us