Eine frohe Adventszeit wünscht Apfeltalk
  • Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Das neue Jahr beginnt wie das alte - natürlich mit einem neuen Fotowettbewerb! Auch im Monat Januar freuen wir uns auf Eure Einsendungen. Wie es weitergeht, wisst Ihr ja - Hier geht es lang --> Klick

DOS-Datei

gschoen57

Transparent von Croncels
Registriert
17.11.09
Beiträge
310
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?
 

MacAlzenau

Golden Noble
Registriert
26.12.05
Beiträge
22.634
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.
 

Scotch

Graue Herbstrenette
Registriert
02.12.08
Beiträge
8.170
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.
 

Wuchtbrumme

Golden Noble
Registriert
03.05.10
Beiträge
22.113
es gibt auch ein dos2unix Programm, wobei der Quark schon vorher passiert zu sein scheint
 

gschoen57

Transparent von Croncels
Registriert
17.11.09
Beiträge
310
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.