Wie ein Anführungszeichen an das Zeilenende anhängen?

Du hast eine Frage aber bist neu im Thema?
Antworten
frank9652
Norton Commander
Beiträge: 142
Registriert: Di 27. Mär 2007, 13:03
Wohnort: Göppingen

Wie ein Anführungszeichen an das Zeilenende anhängen?

Beitrag von frank9652 »

Hallo Leute!

Wie kann ich ein Anführungszeichen an das Ende einer jeden Zeile automatisch anhängen (lassen)?
Habe es schon mit WANDLER von (Dosferatu?) probiert, habe es aber nicht hinbekommen.
Das Problem dabei:
Jede Zeile enthält einen anderen Text, so daß jede Zeile mit einem anderen Zeichen endet (ausgenommen dem Zeilenumbruch).
Ich habe es schon probiert den Zeilenumbruch durch Anführungszeichen plus Zeilenumbruch mit WANDLER zu ersetzen, bin dabei aber kläglich gescheitert.

Irgendwelche Ideen?

Gruß Frank
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Re: Wie ein Anführungszeichen an das Zeilenende anhängen?

Beitrag von DOSferatu »

Inwiefern gescheitert? (Und ja, WANDLER ist von mir.)
Wenn Du Wandler benutzt, kannst Du keine Steuerzeichen DIREKT eingeben. Ich habe dazu aber einen Trick:
Alle Zeichen, die man nicht direkt eingeben kann, kann man durch @HEX ersetzen, wobei HEX eine zweistellige Hexadezimalzahl ist.
Enter (also ASCII 13) ist z.B. @0D
Down (also ASCII 10) ist z.B. @0A
Dabei beachten, daß die "Buchstaben" in den Hex-Werten GROßgeschrieben werden (Habe ich extra so gemacht, damit alles, was nicht paßt, nicht extra ersetzt werden muß. Wenn man also @eMail ersetzen will, kann man das @ benutzen, weil die darauffolgenden Zeichen nicht im Bereich 0123456789ABCDEF sind.
Es gibt auch einige andere Zeichen, die man zwar im WANDLER selber (wenn im "Oberflächen-Mode" betrieben) eingeben kann, aber nicht im Direkt-Modus, weil DOS es nicht erlaubt, beispielsweise Zeichen wie < und >. Auch diese kann man mit den entsprechenden @HEX werten ersetzen.
Wenn Du also die Anführungszeichen am Ende ersetzen willst (und Anführungszeichen nicht genommen werden), dann einfach:

WANDLER text.txt /:@0D /:@22@0D

Das sollte das Problem eigentlich schon lösen (vorausgesetzt, am Zeilenende steht ein Enter oder ein Enter+Down).
Ich hoffe, das klärt das Problem.
DOSferatu
DOS-Übermensch
Beiträge: 1220
Registriert: Di 25. Sep 2007, 12:05
Kontaktdaten:

Re: Wie ein Anführungszeichen an das Zeilenende anhängen?

Beitrag von DOSferatu »

Anmerkung:
Nehmen wir nun an, Dein Text hat nur bei ABSÄTZEN ein Enter, aber enthält innerhalb von Absätzen keine Zeilenumbrüche. Auch dazu habe ich mal ein Tool geschrieben, bei dem man die maximale Länge einer Zeile angibt und er bricht die Zeile um (ohne die Wörter zu zerschneiden - es sei denn, sie sind länger als die erlaubte max. Zeilenlänge).
Danach ist der Text umgebrochen, d.h. die Zeilen haben die max. Länge und nach jeder Zeile ein Enter+Down.
frank9652
Norton Commander
Beiträge: 142
Registriert: Di 27. Mär 2007, 13:03
Wohnort: Göppingen

Re: Wie ein Anführungszeichen an das Zeilenende anhängen?

Beitrag von frank9652 »

Hallo Dosferatu!

Sorry, für die Verwechslung.
Ich werde es ausprobieren.
Was genau am Zeilenende steht, weiß ich nicht.
Wenn ich unter dem Editor BOXER alle nicht sichtbaren Zeichen einblende, dann erscheint ein Pfeil nach unten.
Diesen habe ich aber in ASCII-Vergleichstabellen die auch die entsprechenden HEX- und DEzimalzeichen darstellen vergeblich gesucht.
Bei den zu bearbeitenden Dateien handelt es sich um Tabellen im CSV-Format.
Ich muß da ein paar Zeichen austauschen, damit mein Tabellenkalkulationsprogramm die richtig importieren kann.
So wird jede Zelle durch ein Komma getrennt, und alle Zeichen innerhalb einer Zelle sind am Anfang und am Ende von einem Anführungszeichen eingeschlossen.
Bei der letzten Zelle einer Zeile fehlt aber dieses Anführungszeichen so daß es beim Import der Tabelle zu Problemen kommt.

Ich melde mich wieder

Gruß Frank
frank9652
Norton Commander
Beiträge: 142
Registriert: Di 27. Mär 2007, 13:03
Wohnort: Göppingen

Re: Wie ein Anführungszeichen an das Zeilenende anhängen?

Beitrag von frank9652 »

Hallo DOSferatu!

Der Zeilenumbruch hatte sich letzten Endes als ENTER herausgestellt.

Wie du geschrieben hattest brachte
@0D "@0D
den ersehnten Erfolg.

Keine Ahnung, was ich zuerst falsch gemacht hatte.
Vielen Dank für die Unterstützung.

Gruß Frank
Antworten