Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Textdateibearbeitung per Skript

Frage Entwicklung Batch & Shell

Mitglied: ChrisM73

ChrisM73 (Level 1) - Jetzt verbinden

24.04.2007, aktualisiert 25.04.2007, 4093 Aufrufe, 8 Kommentare

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?
Mitglied: miniversum
24.04.2007 um 16:11 Uhr
Versuchs mal so:
01.
@echo off & setlocal enabledelayedexpansion 
02.
set srcfile="alle.txt" 
03.
set destfile="nureinzelne.txt" 
04.
set "tempvar=" 
05.
 
06.
if exist %destfile% del %destfile% 
07.
FOR /F "delims=" %%A in ('type %srcfile%') do if not [%%A]==[!tempvar!] ( 
08.
echo %%A>>%destfile% 
09.
set tempvar=%%A 
10.
)
miniversum
Bitte warten ..
Mitglied: ChrisM73
24.04.2007 um 16:20 Uhr
sorry hat leider nicht funktioniert, dei Dateien sehen genau gleich aus.
Hatte aber auch falsche Angaben gemacht, das File enthält auch Buchstaben und Punkte.
probierst dus bitte nochmal?
Bitte warten ..
Mitglied: miniversum
24.04.2007 um 16:28 Uhr
Sollte egal sein ob es Buchstaben enthällt.
Bei mir läuft es so.
Kannst du vielleicht mal nen Auszug von so ner Datei posten?

miniversum
Bitte warten ..
Mitglied: ChrisM73
25.04.2007 um 08:04 Uhr
aus Datenschutzrechtlichen Gründen darf ich sie leider nicht posten, würde aber so aussehen:

0256401,N074568,074567899,1,024586,M694767.000,02,155,01,930,11,874,11
0256401,N074568,074567899,1,024586,M694767.000,02,155,01,930,11,874,11 <--löschen
0374502,M078456,084646488,2,034587,M632457.001,03,178,02,931,12,837,12
1354466,M467788,466468666,1,045587,M656844.000,02,184,01, ,
1354466,M467788,466468666,1,045587,M656844.000,02,184,01, , <--löschen
...
Bitte warten ..
Mitglied: Biber
25.04.2007 um 08:18 Uhr
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:
01.
@echo off & setlocal enabledelayedexpansion 
02.
 
03.
set srcfile="alle.txt" 
04.
set destfile="nureinzelne.txt" 
05.
set "tempvar=" 
06.
 
07.
if exist %destfile% del %destfile% 
08.
FOR /F "delims=" %%A in ('type %srcfile%^|sort') do ( 
09.
if not [%%A]==[!tempvar!] ( 
10.
    echo %%A>>%destfile% 
11.
    set tempvar=%%A 
12.
))
Gruss
Biber
Bitte warten ..
Mitglied: ChrisM73
25.04.2007 um 08:50 Uhr
Hallo also sorry ich habe mich girrt, die Nummern sind nicht ganz gleich, sondern unterscheiden sich
bei er 2ten M Nummer, sieht also so aus:

0256401,N074568,074567899,1,024586,M694767.000,02,155,01,930,11,874,11
0256401,N074568,074567899,1,024586,M625877.000,02,155,01,930,11,874,11 <--löschen
0374502,M078456,084646488,2,034587,M632457.001,03,178,02,931,12,837,12
1354466,M467788,466468666,1,045587,M656844.000,02,184,01, ,
1354466,M467788,466468666,1,045587,M685474.000,02,184,01, , <--löschen
Bitte warten ..
Mitglied: miniversum
25.04.2007 um 10:13 Uhr
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:
01.
@echo off & setlocal enabledelayedexpansion 
02.
 
03.
set srcfile="alle.txt" 
04.
set destfile="nureinzelne.txt" 
05.
set "tempvar=" 
06.
 
07.
if exist %destfile% del %destfile% 
08.
FOR /F "delims=" %%A in ('type %srcfile%^|sort') do ( 
09.
set aktvar=%%A 
10.
set aktvar=!aktvar:~0,35! 
11.
if not [!aktvar!]==[!tempvar!] ( 
12.
    echo %%A>>%destfile% 
13.
    set tempvar=!aktvar! 
14.
))
miniversum
Bitte warten ..
Mitglied: ChrisM73
25.04.2007 um 14:02 Uhr
Hey super Miniversum, jetzt klappt es, vielen dank für deine Hilfe.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell Skript Ordnerinhalt auflisten und per E-Mail verschicken (2)

Frage von xbast1x zum Thema Batch & Shell ...

Datenbanken
MSSQL Management Studio Generiere Skript automatisieren (2)

Frage von lordzwieback zum Thema Datenbanken ...

VB for Applications
gelöst Mehrere Mail Vorlagen in VBA Skript verwenden (4)

Frage von o0Asia0o zum Thema VB for Applications ...

Windows Server
gelöst Batch Skript während dem Betrieb mittels GPO laufen lassen (14)

Frage von WinLiCLI zum Thema Windows Server ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(5)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (19)

Frage von SarekHL zum Thema LAN, WAN, Wireless ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...