Frage : Extradaten auf der rechten Seite der allgemeinen Daten zwischen Akten anfügen


Ich habe zwei Akten, in denen in beiden, Zeichenstellen 1 bis 10 die selben, gleichwohl in der zweiten Akte ich alles von Zeichenstelle 101 zum Zeilenenden kopieren möchte, in die erste Akte sind, in der Buchstaben 1 bis 10 die selben sind.

Ist dieses, das in einer DOS-Umwelt möglich ist?

Z.B.
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

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

Wie Sie sehen können, während 1 bis 10 sind, gleiche unterscheiden sich 11 bis 100. …. ist der Rest der Daten bis zu Spalte 100.

Diese Akten können sehr groß, Breite und Länge sein, z.B. übersteigt Zahl der Aufzeichnungen 100000 Aufzeichnungen

Antwort : Extradaten auf der rechten Seite der allgemeinen Daten zwischen Akten anfügen

Es ist nicht leistungsfähig, aber dieses ist eine Annäherung. Die drei vars beim Anfang auf Ihre Akten einstellen.
Die Reihenakte nimmt an, dass der „Schlüssel“ Wert der ersten 10 Putzfrauen, mindestens in file2 einzigartig ist. Sonst erhalten Sie nur die letzte Linie dort gefunden für jeden Schlüssel.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
@echo weg
setlocal EnableDelayedExpansion
file1=file1.txt einstellen
file2=file2.txt einstellen
=output.txt darlegen

nul „%out%“ kopieren
für /F „usebackq tokens=* delims=“ %%A („%~file1%“) innen tun (
  key=%%A einstellen
  key= einstellen! Schlüssel: ~, 10!
  line=%%A einstellen
  für /F „tokens=* delims=“ %%B innen („findstr /B /L /c: “! Schlüssel! „„tun %~file2%“ ") (
     line=%%B einstellen
     line=%%A einstellen! Linie: ~100!
  )
  >> „%~out%“ Echo! Linie!
)
Weitere Lösungen  
 
programming4us programming4us