• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

DOS-Datei

gschoen57

Reinette de Champagne
Registriert
17.11.09
Beiträge
420
Hallo zusammen,
ich habe ein kleines Problem mit dem Format von Textdateien:

habe mir in enem Terminal mit dem kommando mysql -u ..... < Select->Klaulse > datei
eine Datei mit derm Ergebnis des Selects erstellt.
Wenn ich diese Datei mit vi einlese steht unten in der Statusleiste

"datei" [dos] 3L, 82B"

Diese Datei baue ich nun so um, daß daraus ein ausführbares Script wird, das
wiederum andere scripts aufruf. Diese laufen jedoch alle auf irgendwelche Fehler
und das liegt offensichtlich and dem [dos] das da unten steht, d.h. die Datei
wird von mysql irgendwie in einer Art "Dos-Format" erstellt, mit dem dann
diverse shell commandos, insbesondere Zugriff auf Variablen nicht richtig
funktionieren.

Weiß jemand von Euch, wie ich diese Datei in eine ordnungsgeäßes
von Unix lesabres Format bringe?
 
Drei laienhafte Überlegungen von mir, weil die Cracks sicher schon Feierabend machen:
- die Zeichensatzcodierung ist archaisch (DOS!), was alle Nicht-ASCII-Zeichen betrifft - könnte man vielleicht per TetEdit oder mit einem komplexeren Editor anpassen;
- lf/cr also Zeilenende/Absatz müssen angepasst werden, da unterscheiden sich MS-Systeme und UNIXoide meines Wissens;
- du speicherst den Text nicht als nackten Text ab sondern in einem Format wie zum Beispiel rtf.

Kann natürlich auch an irgendeinem Fehler im umgebauten Skript liegen, aber dazu müsste man (ich betone: man, nicht ich) das Skript kennen.
 
Da kann man jetzt nur raten, zumal es ungewöhnlich ist, dass eine pipe unter macOS aus einer MySQL-Ausgabe ein DOS-Format macht (CRLF statt LF)...

Die Prozedur, um das loszuwerden (wenn das denn überhaupt das Problem ist) ist in vi:
Code:
:bufdo! set ff=unix|w

Viel Erfolg.
 
es gibt auch ein dos2unix Programm, wobei der Quark schon vorher passiert zu sein scheint
 
ja, das DOS-Format war in der Tat das Problem, habe es mit Einlesen in vi und
ESC : ff=unix
behoben, nun läuft alles.