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

Leerzeilen in Datei nach sort - Befehl

Frage Entwicklung Batch & Shell

Mitglied: CrazyCat-1

CrazyCat-1 (Level 1) - Jetzt verbinden

25.07.2006, aktualisiert 04.08.2006, 5068 Aufrufe, 17 Kommentare

Kann mir jemand sagen, woher die vielen Leerzeilen nach einem sort - Befehl stammen?

Vor diesem Befehl ist keine einzige Leerzeile in der Datei.

Kann man die Leerzeilen irgendiwe unterdrücken? (unter UNIX hilft ja /n damit man wenigstens nur eine Leerzeile hat, aber gibt es so etwas auch bei M$)
Mitglied: Biber
25.07.2006 um 11:01 Uhr
Moin CrazyCat,

ist mir zwar nicht bekannt, dass der Sort-Befehl zusätzliche Leerzeilen einstreut, aber -egal, wo die jetzt herkommen- wegfiltern kannst Du es z.B. mit einer zusätzlichen Filterung über FindStr.exe. Mit Findstr.exe alle Zeilen entsorgen, bei denen Zeilenende "$" direkt am Zeilenanfang "^" steht.

Beispiel:
01.
sort /?|sort|findstr /v "^$"
..sortiert die Hilfe-Ausgabe von "Sort" (halt irgendeinen Text) und PIPEd das ganze weiter an FindStr.

Gruß
Biber
Bitte warten ..
Mitglied: CrazyCat-1
25.07.2006 um 12:10 Uhr
Bei einer Datei müßte das dann so aussehen:

sort datei1.txt|findstr /v "^$ > datei2.txt

oder?

€dit: Das ganze müßte doch auch mit "find" funktionieren, oder ist findstr in dieser Hinsicht schneller?

Gibt es keinen direkten Weg die Dateien ohne Leerzeilen zu sortieren?

Auf die Option /o von sort werde ich wohl verzichten müssen, oder?
Bitte warten ..
Mitglied: Biber
25.07.2006 um 15:26 Uhr
Moin CrazyCat nochmal,

zu Deinen Fragen...
Bei einer Datei müßte das dann so aussehen:
sort datei1.txt|findstr /v "^$ > datei2.txt
In etwa ja.
01.
sort datei1.txt|findstr /v "^$">datei2.txt
€dit: Das ganze müßte doch auch mit "find" funktionieren, ....
Ich weiß nicht, ob Find.exe auch leere Zeilen im Sinne von "nicht mal ein Leerzeichen drin" finden kann.
Find /v "" datei1.txt ---------->funktioniert jedenfalls nicht wie gewünscht und
Find /v " " datei1.txt ----------> bringt halt alle Zeile OHNE LeerZEICHEN incl der ganz leeren Zeilen.
oder ist findstr in dieser Hinsicht schneller?
Wieso? Esst ihr zeitig?
Gibt es keinen direkten Weg die Dateien ohne Leerzeilen zu sortieren?
Keinen, den ich kenne... mehr würde ich nicht behaupten.
Auf die Option /o von sort werde ich wohl verzichten müssen, oder?
Nein, warum? Kannst die PIPErei doch in alle Richtungen drehen.. ist doch ein freies Land hier.
Beispiel:
01.
>findstr f:\Datei1.txt /v "^$"|sort /o:x:\sortdata.txt
Gruß
Biber

[Edit] BTW: Ob die Ausgangsdatei tatsächlich keine leeren Zeilen enthält, kannst Du ja vorher mit dem FindStr-Befehl prüfen:
01.
>findstr /n "^$" datei1.txt 
...würde Dir ja alle Zeilennummern anzeigen, die nach M$-Meinung leer sind.
Würde mich wirklich wundern, wenn der SORT-Befehl Leerzeilen hinzufügt.
[/Edit]
Bitte warten ..
Mitglied: CrazyCat-1
26.07.2006 um 09:13 Uhr
Die Ausgangsdatei enthält keine Leerzeichen.

Ja, ich esse zeitig. Nee, im Ernst. Die Batchdatei verarbeitet Messwerte von Anlagen.

Da diese relativ schnell gesendet werden, erhalte ich innerhalb kürzester Zeit enorme Datenmengen.

Damit ich diese schnell genug verarbeiten kann, muss die Batch - Datei so schnell als möglich arbeiten (vor allem da der Server schon ziemlich ausgelastet ist)


Deine Kombination sortiert zwar den Dateiinhalt, löscht aber die Leerzeilen nicht.
2. sind in manchen Zeilen Leerzeichen (zwischen 1 und 10 Leerzeichen) enthalten.

Wie bekomme ich alle Zeilen ohne Text raus?
Bitte warten ..
Mitglied: Biber
26.07.2006 um 09:31 Uhr
Na ja, CrazyCat,

dann wäre meine nächste Frage natürlich:
Ist denn ein "physisches" Sortieren der Messdaten nötig? Denn Sortiervorgänge (physisches Neuordnung der Datenzeilen) braucht immens viel Ressourcen.
Effizienter wäre ja ein "logische" Sortierung, also eine Indizierung der Daten-"Sätze" zu einem späteren Zeitpunkt (wenn die Daten in eine DB-Struktur importiert worden sind).

Im Moment ist der Ablauf bei Dir so, wenn ich das richtig verstehe:
a) - Entstehung/Bereitstellung der Messdaten in chronologischer Form
b) - Aufbereitung/Filterung spaltenweise per Batch
c) - physische SORTierung per Batch
d) - und dann? Import in Excel? Datenbank? Oder keine Weiterverarbeitung außer Archivierung?

Lässt sich die Reihenfolge nicht ändern in
a) - Entstehung/Bereitstellung der Messdaten in chronologischer Form
b) - Import in eine DB-Struktur
---> dadurch automatische "logische" Neuordnung via Index
---> Nicht-Übernahme der "uninteressanten" Spalten/Datenfelder?

Gruß
Biber
Bitte warten ..
Mitglied: CrazyCat-1
26.07.2006 um 09:58 Uhr
Die Daten kommen in chronoligischer Reihenfolge, allerdings nicht richtig sortiert für den Upload.

So stehen z.B. Keys mit der Nummer 4 vor Keys mit der Nummer 1 usw.

Damit ich die Daten in die DB richtig übertragen kann ist eine Sortierung der Keys notwendig. Keys mit Nummer 0, Keys mit Nummer 1, Keys mit Nummer 2, Keys mit Nummer 3 usw.

Wird diese Reihenfolge innerhalb der Datei nicht eingehalten, kann der Uploadclient die Daten nicht verarbeiten und der Upload schlägt fehl.

Darum ist es unbedingt notwendig den Dateiinhalt zu sortieren.
Bitte warten ..
Mitglied: Biber
26.07.2006 um 13:47 Uhr
Na ja, CrazyCat,

wenn doch aber die "Satzart" 1-4 offensichtlich als erstes Zeichen in jeder Zeile steht und alle "leeren Zeilen" ohnehin weggefiltert werden müssen, dann wäre doch die vermutlich schnellste "physische Sortierung" ohne SORT.

[für jede Messdatendatei in unsortierter Form:
01.
Findstr "^1" Messdatendatei.xyz>sortdata.txt 
02.
Findstr "^2" Messdatendatei.xyz>>sortdata.txt 
03.
Findstr "^3" Messdatendatei.xyz>>sortdata.txt 
04.
Findstr "^4" Messdatendatei.xyz>>sortdata.txt
Sollte schneller gehen als die Varianten mit SORT.
Gruß
Biber
Bitte warten ..
Mitglied: CrazyCat-1
28.07.2006 um 07:54 Uhr
Werd's mal versuchen, aber ich denke das beide Varianten in etwa gleich schnell sein werden.

Was ist überhaupt der Unterschied zwischen find und findstr?

Die Funktionen sind ja im Prinzip die gleichen.
Bitte warten ..
Mitglied: Biber
28.07.2006 um 09:32 Uhr
Im Prinzip sind auch Windows XP und MacOS das Gleiche... haben auch ähnliche Funktionen. Oder mein Toyoto-Wrack und ein Mercedes SLK. Oder Angela Merkel und Madonna.

Find sucht nach Buchstaben oder Zeichenfolgen in Zeilen genau einer Textdatei.
Findstr kann dasselbe und darüber hinausgehend in mehreren Dateien/Verzeichnisstrukturen auch nach regulären Ausdrücken (=Suchmustern) suchen.
Einen praktischen Nutzen (der mit Find nicht erreichbar wäre) siehe oben: es lässt sich zum Beispiel am Satzanfang/Satzende suchen oder nach "Worten" mit bestimmtem Beginn oder Ende.

Mit "Find" kannst Du eben nicht nach Zeilen suchen, die mit "1", "2", "3" oder "4" beginnen, sondern nur nach Zeilen, die diese Zeichen enthalten. Das ist schon ein massiver Unterschied.
Gruß
Biber
Bitte warten ..
Mitglied: JohnnyB
30.07.2006 um 01:27 Uhr
Hallo CrazyCat,

ich habe zu Deinem Problem mit den Leerzeilen mal eine ganz andere Frage:

Du schreibst, es sind nach der Sortierung viele Leerzeilen, obwohl vorher keine da waren.
Sind es am Ende evtl. genauso viele Leerzeilen, wie Meßwerte?
Könnte es evtl. sein, daß die Meßdatenerfassung und die Sortierung auf Rechnern mit unterschiedlichen OS stattfindet?
Bei Windows wird doch afaik bei Textdateien eine Zeile mit LF (Line feed) und CR (carriage return) abgeschlossen, während z.B. bei UNIX der Zeilenvorschub nur durch ein LF initialisiert wird.
Könnte das evtl. der Grund für die Leerzeilen sein?
Bitte warten ..
Mitglied: CrazyCat-1
31.07.2006 um 13:15 Uhr
Naja, es sind im Prinzip 2 verschiedene Betriebssysteme -> 1x Siemens, 1x Microsoft.

Ich hab' noch nicht nachgezählt, aber wenn ich den Cursor an die letzte Leerzeile stelle, dann bin ich ungefähr in der Mitte der Datei.
Die Vermutung klingt daher irgendwie logisch.
Bitte warten ..
Mitglied: JohnnyB
31.07.2006 um 17:01 Uhr
Ich weiß jetzt natürlich nicht, mit welcher Software die Daten erfaßt und versendet werden, aber vielleicht gibt es ja dort irgendeine Einstellung, die sinngemäß lautet: "Dateien Windows kompatibel speichern/versenden".
Bitte warten ..
Mitglied: CrazyCat-1
02.08.2006 um 08:02 Uhr
Nein, leider nicht.

Ich werde also um das Rausfiltern der "Leerzeilen" nicht herumkommen.
Bitte warten ..
Mitglied: Biber
02.08.2006 um 08:13 Uhr
Moin CrazyCat,

dann eben Plan B...
...wenn sichergestellt ist, dass immer Leerzeilen dabei sind, dann lass vom MORE-Befehl "mehrere Leerzeilen zu einer zusammenfassen" (s.Hilfe zu More /?; Option /S).
Dann hast Du genau eine Leerzeile, und die kannst Du ggf. SKIPpen.

Hast Du denn die Variante mit den 4 FindStr-Zeilen hintereinander mal probiert?
Die sollte in der Theorie die vielversprechendste sein.

Gruß
Biber
Bitte warten ..
Mitglied: CrazyCat-1
02.08.2006 um 08:32 Uhr
Ja, die Variante habe ioch probiert.

Sie ist in etwa gleich schnell wie die Variante mit SORT.

Da das Programm mit SORT etwas einfacher wird, verwende ich derzeit diese Methode.

€dit: Werde mal die Variante mit MORE versuchen, das sollte nochmals etwas Zeit einsparen, wenn die Datei von Anfang an kleiner ist und nur eine Zeile übersprungen werden muss.
Bitte warten ..
Mitglied: JohnnyB
02.08.2006 um 11:39 Uhr
Habe mal ein bischen gegoogelt und bin auf folgendes Tool gestoßen, welches das Zeilenumbruchproblem behandelt:

www.megaloman.com/~hany/software/hd2u/

Vielleicht hilft es ja.
Bitte warten ..
Mitglied: CrazyCat-1
04.08.2006 um 09:36 Uhr
Danke,

ich werde mir das mal ansehen.

Mal sehen was es bringt.
Bitte warten ..
Ähnliche Inhalte
Linux Tools
Mit Linux am ende einer Datei eine Leerzeile einfügen
gelöst Frage von OIOOIOOIOIIOOOIIOIIOIOOOLinux Tools30 Kommentare

Tach ihr alle, Ich wollte mal einen etwas aufwendigen Script schreiben welches via Cronejob zur bestimmten Zeiten ausgeführt werden ...

PHP
PHP - unique-array() und sort()
gelöst Frage von ThomasXYZPHP14 Kommentare

Hallo zusammen, ich bin gerade leicht am verzweifeln und finde nicht so recht die Lösung. Ich bekomme per Datenbankabfrage ...

Entwicklung
Befehl aus Reg-Datei wird nicht übernommen.
gelöst Frage von SATCG1992Entwicklung5 Kommentare

Servus zusammen, ich habe mir eine Reg -Datei mit mehreren Befehlen geschrieben. Wenn ich dann auf zusammenführen klicken (oder ...

Microsoft Office
Exceltabelle ohne Leerzeilen in Bestellformular anzeigen
gelöst Frage von BerglerboyMicrosoft Office1 Kommentar

Hallo zusammen Da ich keine Kenntnisse von VBA habe und bis heute nur mit Formeln ausgekommen bin stehe ich ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 1 TagHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Windows Store Apps
gelöst Frage von PeterleBWindows Server11 Kommentare

Gibt es einen Weg, auf Windows Server 2016 Windows Store Apps wie zum Beispiel die HP Smart App zu ...

Microsoft Office
Outlook Cache Mode Frage
Frage von GwaihirMicrosoft Office11 Kommentare

Hallo zusammen, bin gerade neu in der Firma und lerne hier einige neue Dinge kennen. Zum Beispiel, dass die ...

Microsoft
Erfahrungen mit Webcam over RDP gesucht
Frage von DerWoWussteMicrosoft10 Kommentare

Moin Kollegen. Bekanntlich kann man Webcams nur mit Drittanbietersoftware in RDP reinschleifen. Was nutzt Ihr dazu? Wie stabil funktioniert ...