Leerzeichen am Ende eine Zeile Löschen. Leerzeichen im Rest der Zeile aber so bestehen lassen

mycroftone
Ich habe eine Datei die mit mehreren Spalten. Durch Leerzeichen sind die Einzelnen Einträge voneinander getrennt.
Es sind entweder 4 oder 5 Spalten. Und danach habe ich noch ein paar Leerzeichen.
Weil ich vorhere in manchen Zeilen was abschneiden mußte.

Jetzt möchte ich aber die Leerzeichen am Enden weg haben.

Ein

Funktioniert ja nicht weil dann sind ja auch die Leerzeichen dazwischen weg.

ich habe mir schon gedacht ich nehm jede Zeile untersuch dort das letzt Zeichen und wenn es ein Leezeich ist nehem ich es weg.
Aber wie ich das Batch Programmiertechnis Umstzte weiß ich nicht.

Kann mir Jemand dabei helfen.

Content-Key: 184741

Url: https://administrator.de/contentid/184741

Ausgedruckt am: 23.01.2022 um 06:01 Uhr

Mitglied: mak-xxl
mak-xxl 09.05.2012, aktualisiert am 18.10.2012 um 18:50:50 Uhr
Goto Top
Moin mycroftone,

etwa so für schließende (und führende!) Leerzeichen in einer Zeile:


Die Klammern in Zeile 5 für den Normalbetrieb entfernen - nur zur besseren Demonstration.

Der Dank geht an Biber - weil hier.

Freundliche Grüße von der Insel - Mario
Mitglied: 57263
57263 09.05.2012 um 21:06:11 Uhr
Goto Top
ich mache so etwas so:
1. zunächst alle Stellen vielen Leerzeichen ungerader Zahl durch suchen & ersetzen gegen nichts: entfernt alle größeren Gruppen mit drei Zeichen restlos.
2. Immer so weiter bis zu kleinen Zahlen wie drei Leerzeichen
2. dann haben wir nur noch gerade Anzahlen von Leerzeichen. Die entfernen durch suchen & ersetzen zweier Leerzeichen gegen nichts.

OK?
Mitglied: bastla
bastla 09.05.2012 um 21:23:11 Uhr
Goto Top
@mario
Das Leerzeichen vor ">>" ist allerdings gerade in diesem Fall besonders kontraproduktiv - besser so:
- und darauf achten, dass es nicht am Ende dieser Codezeile noch eines gibt ...

Grüße
bastla
Mitglied: mak-xxl
mak-xxl 09.05.2012 um 21:42:38 Uhr
Goto Top
@bastla,

ja also die leergezeichneten Trittbrettfahrer und meiner einer - ein gefährliches Gespann.
Danke für die Korrektur.

Einen schönen Feierabend und freundliche Inselgrüße - Mario
Mitglied: gammaplayer
gammaplayer 10.05.2012 um 06:50:06 Uhr
Goto Top
Machst du das denn öfter und rechtfertigt es somit überhaupt ein Kommandozeilenscript?
Wenn du das öfter machst wäre n Skript natürlich sicherlich besser für ne automatische Verarbeitung.

Für nen Einzelfall würde ich in meinem Editor einfach das letzte Leerzeichen + Zeilenumbruch durch einen Zeilenumbruch ersetzen und gut ist.
Mit sed wäre das auch kein Problem ;)
Und ich nehme an, dass das mit nem Powershell-Skript auch kein Ding sein sollte.

Nur mal so als Denkanstoß.

Mit wilden Algorithmen zu gerader Anzahl von Leerzeichen tust du dir glaube nichts Gutes.

Achso ich sehe gerade dass am Ende mehrere Leerzeichen sein können, auch kein Ding mit regulären Ausdrücken.
Sollte in guten Texteditoren kein Thema sein und auch z.B. in der Powershell nicht, die sollte mit sowas umgehen können.
Bzw. könnte ich im Editor einfach Spaltenweise markieren und so die Leerzeilen loswerden, vorausgesetzt die Spalten sind gleich breit oder wurden durch Tabs getrennt.
Was mich zu der Frage führt woher die Daten überhaupt kommen und ob man nicht an der Daten erzeugenden Quelle schon für Verbesserungen sorgen könnte.

Fragen über Fragen... ist glaube noch zu früh. Mach mir schonwieder zuviele Gedanken über sone simple Sache. :D


Naja egal.... macht ihr mal :) face-smile


P.S. regulärer Ausdruck für ersetzen von Whitespace am Ende einer Zeile wäre dann "[[:s:]]*$" mit "\r\n" ersetzen. (ohne Änführungsstriche, Syntax kann sich unterscheiden, je nachdem wie/wo eingesetzt) Das ist jetzt Perl-Syntax innerhalb von UltraEdit. [[:s:]] = beliebiger Whitespace-Character, * = vorheriges Zeichen beliebig oft, $ = Zeilenende, "\r\n" = Carriage Return + Line Feed = neue Zeile unter Windows.
Mitglied: pieh-ejdsch
pieh-ejdsch 10.05.2012 um 14:14:33 Uhr
Goto Top
moin mycroftone,

... das Batch Programmiertechnis Umstzte ...
Wie Bugs Bunny?

Immer 5 tokens? Dann Schreibe statt Kommata die Leerzeichen.
Wenn nur vier oder fünf Tokens sein sollen, prüfe auf ein 5. Token.

Sonst lass die Unterroutine den Müll die Leerzeichen am Zeilenende entsorgen:
[Edit] löschen der tmp-datei nachgetragen. [/Edit]

Gruß Phil
Mitglied: mycroftone
mycroftone 10.05.2012 um 14:51:44 Uhr
Goto Top
Vielen Dank für die zahlreichen Vorschläge.

Ich werde es morgen ausprobieren.

I
Mitglied: mycroftone
mycroftone 11.05.2012 um 13:02:55 Uhr
Goto Top
Danke an mak-xxl und Biber die Lösung funktioniert genauso wie gewünscht.

Danke auch an pieh-ejdsch für die UMsetzung meiner Idee.
Heiß diskutierte Beiträge
general
Liste von URLs in wininet.dllFennek11Vor 1 TagAllgemeinInternet13 Kommentare

Hallo, die Frage ist zugleich enrsthaft und Satire: Windows enthält die Datei "c:\windows\system32\wininet.dll", die für viele Verbindungen ins Internet benötigt wird. Ein Blick in die ...

question
2 Faktor Authentifizierung generell abschaltenratzekahl1Vor 1 TagFrageGoogle Android9 Kommentare

Hallo zusammen, ich habe eine Frage: Kann ich in Google die 2 Faktor Authentifizierzung generell abschalten? Wenn ich ein Gerät als vertrauenswürdig hinzugefügt habe, ja, ...

question
Netzwerk Grafisch darstellen?FireWorldVor 1 TagFrageInternet8 Kommentare

Hallo, ich bin der Zeit auf der Suche nach einem Programm zur Grafischen Darstellung von inbound/outbound eines Servers in einem Rechenzentrum. Hat Jemand eine idee ...

info
Ruhe in Frieden, HackbratenVision2015Vor 1 TagInformationOff Topic5 Kommentare

Der US-Sänger Meat Loaf ist tot. Er starb laut seiner Facebook-Seite in der vergangenen Nacht im Alter von 74 Jahren. Meat Loaf, mit bürgerlichem Namen ...

question
Fritz Repeater 1750E "verloren"reksierpVor 1 TagFrageHardware9 Kommentare

Hallo, ich habe ein 150 Jahre altes Haus (ehemaliger Dorf-Bahnhof), sehr verwinkelt, viele Räume, mit Anbau, 2 Kriech-Dachböden. Vor mehreren Jahren hab ich einige Repeater ...

question
Tablet-Display defekt: wie Zugriff auf DatenMahstarDVor 1 TagFrageGoogle Android6 Kommentare

Guten Abend, ich habe ein Tablet überreicht bekommen mit der Bitte um den Versuch einer Datenrettung. Tablet: Samsung Galaxy Tab-A (2016, SM-T585) Das Display ist ...

info
SonicWall Bootloop seit letzter NachtSt-AndreasVor 1 TagInformationFirewall2 Kommentare

Sonicwall Gen 7 spielen Bootloop seit letzter Nacht. Hilfe dazu hier ...

question
Verständnisproblem SubnettingKarolaVor 18 StundenFrageNetzwerkgrundlagen6 Kommentare

Hallo, möchte mal nerven weil ich keine Antwort finde Ein Netzwerk 172.16.0.0 /16 besteht aus einem alten Router als 4 Port Switch und 4 Clients. ...