Textdateibearbeitung per Skript
Hallo ich muss öfters von hand aus einer Textdatei die nur Zahlen, kommas und leerstellen enthält die Zeilen vergleichen und gegebenenfalls doppelte löschen, solange bis nur noch einzigartige Zeilen in der Datei stehen.
Wenn doppelte Zeilen vorhanden sind, stehen sie direkt untereinander. Es können dann auch mehrere doppelte Zeilen sein, also auch mal 5 mal die gleiche.
Kann man sowas per Skript lösen?
Wenn doppelte Zeilen vorhanden sind, stehen sie direkt untereinander. Es können dann auch mehrere doppelte Zeilen sein, also auch mal 5 mal die gleiche.
Kann man sowas per Skript lösen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 57472
Url: https://administrator.de/contentid/57472
Ausgedruckt am: 22.11.2024 um 21:11 Uhr
8 Kommentare
Neuester Kommentar
Moin ChrisM73,
IMHO funktioniert miniversums Lösung.
Ich würde die nur ganz geringfügig erweitern mt dem SORT-Befehl, aber sonst...
Bie mir bleiben 3 Zeilen der Textdatei übrig, wenn ich folgenden Schnipsel laufen lasse:
Gruss
Biber
IMHO funktioniert miniversums Lösung.
Ich würde die nur ganz geringfügig erweitern mt dem SORT-Befehl, aber sonst...
Bie mir bleiben 3 Zeilen der Textdatei übrig, wenn ich folgenden Schnipsel laufen lasse:
@echo off & setlocal enabledelayedexpansion
set srcfile="alle.txt"
set destfile="nureinzelne.txt"
set "tempvar="
if exist %destfile% del %destfile%
FOR /F "delims=" %%A in ('type %srcfile%^|sort') do (
if not [%%A]==[!tempvar!] (
echo %%A>>%destfile%
set tempvar=%%A
))
Gruss
Biber
Also soll nur im vorderen Teil nach gleichen gesucht werden?
Also nur der Bereich :
0256401,N074568,074567899,1,024586,
0256401,N074568,074567899,1,024586,
0374502,M078456,084646488,2,034587,
1354466,M467788,466468666,1,045587,
1354466,M467788,466468666,1,045587,
Hier würden nur die ersten 35 Zeichen verglichen:
miniversum
Also nur der Bereich :
0256401,N074568,074567899,1,024586,
0256401,N074568,074567899,1,024586,
0374502,M078456,084646488,2,034587,
1354466,M467788,466468666,1,045587,
1354466,M467788,466468666,1,045587,
Hier würden nur die ersten 35 Zeichen verglichen:
@echo off & setlocal enabledelayedexpansion
set srcfile="alle.txt"
set destfile="nureinzelne.txt"
set "tempvar="
if exist %destfile% del %destfile%
FOR /F "delims=" %%A in ('type %srcfile%^|sort') do (
set aktvar=%%A
set aktvar=!aktvar:~0,35!
if not [!aktvar!]==[!tempvar!] (
echo %%A>>%destfile%
set tempvar=!aktvar!
))