Top-Themen

Aktuelle Themen (A bis Z)

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

Mit Batch eine Datei nach Vorgabe sortieren (Stellen 1-2 je Zeile)

Frage Entwicklung Batch & Shell

Mitglied: B-Real

B-Real (Level 1) - Jetzt verbinden

02.12.2014, aktualisiert 13:36 Uhr, 801 Aufrufe, 4 Kommentare

Hallo Community,

mir wurde hier schon oft geholfen, ich bin kein Batch Profi aber ich habe hier auch schon viel gelernt. Daher hoffe ich auf eure Hilfe ob soetwas machbar ist.

Und zwar geht es um eine Datei eines Konverters, die immer einen fix vorgegeben Namen hat: O2LLANDES_SORT. In dieser Datei gibt es mehrere Satzarten, die immer an der Stelle 1 und 2 in jeder Zeile definiert werden.

Es können nur die folgenden Satzarten vorkommen, aber auch mehrmals in der Datei. Es müssen nicht alle vorkommen. Diese Reihenfolge ist gewünscht für die Sortierung:
01
31
43
42
46
69
98


Hinweis: Die Satzart 01 steht für Start und steht immer an erster Stelle. Die Satzart 98 steht für Ende und ist immer an letzter Stelle. Beide können nur einmal in der Datei vorkommen.

Beispiel wie die Datei jetzt aussieht:
01.
01LAGERD       141111 
02.
3100200298279697          690066901000055225091200206951384329143457     15111500000078             LD          LE 197001010000000018052984 
03.
3100200298279697          690066901000055294091200206951384329143457     15111500000078             LD          LE 197001010000000018052983 
04.
3100200298279697          690066901000055270091200206951384329143457     15111500000078             LD          LE 197001010000000018052982 
05.
3100200298279697          690066901000055263091200206951384329143457     15111500000078             LD          LE 197001010000000018052981 
06.
3100200298279697          690066901000055249091200206951384329143457     15111500000078             LD          LE 197001010000000018052979 
07.
439257250000100000195000+ 1411502274     89755           LD      2014111115725               201411110000020000000000 
08.
42925725 2014111115725               20141111069740 
09.
46925725000011796385489755           1411502274     00000550 
10.
46925725000011796385389755           1411502274     00001400 
11.
690029257250000189755           1411502274     0697402014111115725               20141111000001950000002LD 
12.
439257250000200000260000+ 1411502275     94552           LD      2014111115725               201411110000040000000000 
13.
46925725000021796385794552           1411502275     00000700 
14.
46925725000021796385594552           1411502275     00000700 
15.
46925725000021796385694552           1411502275     00000700 
16.
46925725000021796386692556           1411502275     00000500 
17.
690029257250000294552           1411502275     0697402014111115725               20141111000002600000004LD 
18.
98LAGERD       141111
So sollte die Datei NACH der Sortierung aussehen:
01.
01LAGERD       141111 
02.
3100200298279697          690066901000055225091200206951384329143457     15111500000078             LD          LE 197001010000000018052984 
03.
3100200298279697          690066901000055294091200206951384329143457     15111500000078             LD          LE 197001010000000018052983 
04.
3100200298279697          690066901000055270091200206951384329143457     15111500000078             LD          LE 197001010000000018052982 
05.
3100200298279697          690066901000055263091200206951384329143457     15111500000078             LD          LE 197001010000000018052981 
06.
3100200298279697          690066901000055249091200206951384329143457     15111500000078             LD          LE 197001010000000018052979 
07.
439257250000100000195000+ 1411502274     89755           LD      2014111115725               201411110000020000000000 
08.
439257250000200000260000+ 1411502275     94552           LD      2014111115725               201411110000040000000000 
09.
42925725 2014111115725               20141111069740 
10.
46925725000011796385489755           1411502274     00000550 
11.
46925725000011796385389755           1411502274     00001400 
12.
46925725000021796385794552           1411502275     00000700 
13.
46925725000021796385594552           1411502275     00000700 
14.
46925725000021796385694552           1411502275     00000700 
15.
46925725000021796386692556           1411502275     00000500 
16.
690029257250000189755           1411502274     0697402014111115725               20141111000001950000002LD 
17.
690029257250000294552           1411502275     0697402014111115725               20141111000002600000004LD 
18.
98LAGERD       141111



Lässt sich soetwas mit Batch vernünftig lösen?

Vielen Dank für eure Hilfe schon mal.
Mitglied: riddler2kone
02.12.2014, aktualisiert um 11:53 Uhr
Keine Antwort auf deine Frage, aber ein genereller Tipp:

Ich würde dir empfehlen, bei solchen Aufgaben auf Python zurückzugreifen. Python ist eine sehr mächtige Skriptsprache, sehr einfach zu lernen und kommt aus genau diesem Bereich (Serveradministration).
Bitte warten ..
Mitglied: Gersen
LÖSUNG 02.12.2014, aktualisiert um 13:36 Uhr
Hallo,

per Batch:
sort Eingabedatei /O Ausgabedatei
Edit: Sorry, nicht gelesen, dass "43" vor "42" kommen soll...

Dann wäre es wohl:
01.
@echo off 
02.
for %%a in (01,31,43,42,46,69,98) do (findstr /B /C:%%a Eingabedatei >> Ausgabedatei)
Gruß,
Gersen
Bitte warten ..
Mitglied: B-Real
02.12.2014 um 12:54 Uhr
Danke für die Tipps, ich werde das versuchen und melde mich dann ob es geklappt hat.
Bitte warten ..
Mitglied: B-Real
02.12.2014 um 13:37 Uhr
Dein Skript funktioniert perfekt Gersen, vielen Dank! Ich dachte nicht, dass es sich mit einem Einzeiler so schnell machen lässt . Ist somit als gelöst markiert.
Bitte warten ..
Ähnliche Inhalte
Linux
Script um Zeilen aus einer Datei an eine bestimmte Stelle in einer anderen Datei zu kopieren
Frage von grepper91Linux2 Kommentare

Hallo zusammen, ich habe folgendes Problem, ich habe Paketlisten die ungefähr so aussehen: ;Paket1;x86_64;;;# ;Paket2;x86_64;;;# ;Paket3;x86_64;;;# Nun habe ich ...

Python
2 txt-Dateien vergleichen und gleiche Zeilen in der Datei 1 durch die Zeilen aus der Datei 2 ersetzen
gelöst Frage von takitanoPython2 Kommentare

Hallo an alle, ich habe folgendes Problem: Es existieren 2 txt-Dateien, die so aussehen: 1) (insgesamt 102.600.000 Zeilen) 2) ...

Batch & Shell
Eine Batch zum Sortieren verschiedener Dateien in Ordner
gelöst Frage von JaglagBatch & Shell16 Kommentare

Hallo, da ich leider mit Batch und shell nicht so erfahren bin hoffe das ein findiger User hier weiterhelfen ...

Batch & Shell
Zeile eine Datei per batch ersetzen
Frage von duckknightBatch & Shell2 Kommentare

Hallo die Damen und Herren, ich bin nun bei allen Suchanfragen immer wieder hier gelandet, habe aber das was ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 23 StundenWindows 102 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet3 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 1 TagDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Windows Server
GPO nur für bestimmte Computer
Frage von Leo-leWindows Server13 Kommentare

Hallo Forum, gern würde ich ein Robocopy script per Bat an eine GPO hängen. Wichtig wäre aber dort der ...

Windows Server
KMS Facts for Client configuration
Frage von winlinWindows Server13 Kommentare

Hey Leute, wir haben in unserem Netz nun einen neuen KMS Server. Haben Bestands-VMs die noch nicht aktiviert sind. ...

Windows Tools
Software-Tool zum Entfernen von bösartigem Windows
Frage von emeriksWindows Tools11 Kommentare

Hi, siehe Betreff hat das jemals irgendjemand schonmal sinnvoll eingesetzt? (MRT) E.

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...