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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 57472
Url: https://administrator.de/contentid/57472
Printed on: April 25, 2024 at 17:04 o'clock
8 Comments
Latest comment
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!
))