Fråga : Fästa extra data till rätten av allmänningdata between sparar


Jag har två sparar var i båda, tecken placerar 1 till 10 är samma, however i understödja spara mig önskar att kopiera allt från tecken placerar 101 till avsluta av fodrar, in i första sparar var tecken 1 till 10 är samma.

Är denna möjlighet i en DOS-miljö?

Eg.
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

Tillverkat:
0019283743 34 23 34…., 23532.2035 235693
2935782983 23 53 96…., 62837.2958 683023
0125892837 95 23 53….,

Som du kan se att stunder 1 till 10 är de samma 11na till 100na skilja sig åt. …., är vila av kolonnen 100 för data upp till.

Dessa sparar kan vara mycket stora, bredden och längden, eg. numrera av ska rekord överskrider 100000 rekord

Svar : Fästa extra data till rätten av allmänningdata between sparar

Det är inte effektivt, men denna är en att närma sig. Uppsättning som de tre varsna på starten till ditt sparar.
Gruppera sparar antar att ”det nyckel-” värderar av de första 10 rödingarna är unikt, åtminstone i file2. Annars du ska får endast jumbon fodrar funnit där för varje som var nyckel-.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
@echo av
setlocal EnableDelayedExpansion
uppsättning file1=file1.txt
uppsättning file2=file2.txt
uppsättning out=output.txt

kopiera nul ”%out%”,
för /F ”usebackqtokens=*delims=” %%A (”%~file1%”) gör in (
  uppsättning key=%%A
  fastställd key=! nyckel-: ~ 10!
  uppsättning line=%%A
  för /F ”tokens=*delims=” %%B in (”findstr /B /L /c: ”! nyckel-! ””%~file2%””) gör (
     uppsättning line=%%B
     uppsättning line=%%A! fodra: ~100!
  )
  >> ”%~out%” ekar! fodra!
)
Andra lösningar  
 
programming4us programming4us