"Problem-Stellung"
Problem-Lösung
Ausgabe-Texte
Fehler und Mangel des originalen tab2space
Quell-Code
"Problem-Stellung"
Bei Servern die offensichtlich ein UNIX-Server sind, werden bei einem Upload alle CRLF-Zeilenumbrüche automatisch in LF-Zeilenumbrüche umgewandelt. Die Zeilenumbrüche werden auch "Zeilen-Ende-Marken" genannt. Bei dieser Umwandlung werden (wenn man von einem PC-DOS/Windows -System kommt) die Dateien etwas kleiner und haben das Upload-Datum. Ein einfacher Vergleich (nach Dateigröße und Dateidatum) mit den lokalen Dateien ist dann nicht mehr so ohne weiteres möglich. Man muß also vor dem Upload die CRLF-"Zeilen-Ende-Marken" in LF-"Zeilen-Ende-Marken" umwandeln. Diese Umwandlung ist mit dem tab2space aus den HTML Tidy Quellen möglich.
Bedauerlicher Weise hat dieses originale tab2space einige Fehler und
auch einen Mangel. Deswegen wurden die Fehler bereinigt und die Option
-date ergänzt. Bei der Gelegenheit wurden auch gleich die wenigen
Ausgabe-Texte ins Deutsche "übersetzt".
Problem-Lösung
-
1. tab2space.exe (3kB 09.02.03) von mir downloaden
-
2. Hilfs-Batch's (1kB 09.02.03) von mir downloaden
-
3. komplette Kopie der eigenen lokalen HomePage erstellen
-
4. tab2space.exe und die *.bat da hinein kopieren.
-
5. crlf2lfdatealldir.bat UND lf2crlfdatealldir.bat entsprechend Ihrer VerzeichnisStruktur anpassen.
-
6. crlf2lfdatealldir.bat starten -> Ihr Original und Kopie sind verschieden!
-
T. Zum Test gleich wieder lf2crlfdatealldir.bat starten -> Ihr Original und Kopie sind wieder gleich.
-
7. Die Kopie vergleichen und nur Neueres uploaden (nur wenn T. ausgelassen wurde).
-
8. lf2crlfdatealldir.bat starten. HomePage weiter bearbeiten.
Wenn Sie dann ausreichend "Vertrauen" zu diesem Verfahren haben, brauchen Sie es nicht mehr über die Kopie erledigen. Die Kopie gibt Ihnen aber gewisse Sicherheit vor DatenZerstörung, denn ich übernehme keinerlei Garanien!
Ausgabe-Texte
Dienstprogramm zur Ersetzung der Tabulatoren durch Leerzeichen und
zum Setzen von gleichen ZeilenEnde Marken
Aufruf:
tab2space [Opt] [Ein Aus ...] [Ein/Aus] [Opt [Ein Aus ...] [Ein/Aus]] ...
Opt = Optionen (werden gar keine angegeben, gilt Standard: -t4 -crlf )
Ein Aus = EingabeDatei und darauf folgend (leerzeichengetrennt) AusgabeDatei
Ein/Aus = die angegebene EingabeDatei wird UEBERSCHRIEBEN
[...] = kann, muss nicht angegeben werden
... = Vorheriges kann so mehrfach angegeben werden
Wenn Angaben erfolgen, muss deren REIHENFOLGE eingehalten werden!
Optionen für tab2space Version: 09.02.2003 E.Zürn
-t8 Tabulatoren mit 8 Leerzeichen ersetzen (Standard sind 4)
-tabs Tabulatoren beibehalten, z.B. für 'Makefile'
-crlf ZeilenEnde mit CRLF (Standard bei PC-DOS/Windows)
-lf oder -unix ZeilenEnde mit LF (für Unix/Linux)
-cr ZeilenEnde mit CR (für klassisches Mac)
-date AusgabeDatei erhaelt das Datum der EingabeDatei
-help oder h zeigt diesen Hilfetext
Dieses Dienstprogramm ersetzt NICHT Leerzeichen durch Tabulatoren!
tab2space ersetzt nicht einfach Tabulatoren-Zeichen durch die Anzahl der angegebenen
Leerzeichen, sondern so als wären es echte Tabulatoren. Diese echten kann man sich als
senkrechte Linien denken. Folgendes soll dies verdeutlichen: Für das allereste Tab in
der -t2 Zeile stehen am Anfang 2 Leerzeichen, dann folgt immer nur 1, weil die
"2" schon mitzählt.
1234567890123456789012345 2 2 2 2 2 2 2 2 2 2 2 2-t24 4 4 4 4 4-t48 8 8-t81234567890123456789012345
Fehler und Mangel des originalen tab2space
Die Option -tabs wird gänzlich ignoriert. Statt
dessen werden evtl. enthaltene Tabulatoren so ersetzt als hätte man -t4
eingegeben, was aber nicht immer gewünscht ist.
Verwendet man die -t??-Option und ist das allererste Zeichen in einer Datei
ein Tabulator, so wird für nur diesen ein Leerzeichen zu viel
eingesetzt.
Da die Ausgabe-Datei gegenüber der Eingabe-Datei tatsächlich geändert
wird, erhält die Ausgabe-Datei das aktuelle System-Datum als Datei-Datum. In
Vorbereitung für Upload-Vergleiche ist dies störend. Aus dem Grunde wurde die
Option -date ergänzt.
Quell-Code
|
.\include\platform.h |
Original |
|
.\console\tab2space.c (3kB 09.02.03) |
Verändert gegenüber dem Original |
In testtabs.tgz (1kB 09.02.03) sind *.bat und *.txt enthalten, die
tab2space.exe auf dessen korrekten Umgang mit den Optionen -t2 -t4 -t8 -crlf -lf
-cr und der Optionen-Reihenfolge prüft. Eine FC.EXE muß in Ihrem
Windows-System dazu aufrufbar sein. Beim Durchlauf sollte immer
Verglichen werden test_tabs.txt und result.txt. FC: Keine Unterschiede festgestellt
erscheinen, ansonsten ist etwas fehlerhaft.