Hallo listers, Ich habe ein kleines Problem bei meinen cgi-Skripts: wenn ich ein skript habe (aus dem Internet), welches unter Windows entwickelt wurde und ich es über Samba auf meinen server kopiere, hat das Skript an jedem Zeilenende ein m und funktioniert dadurch nicht. Wenn es sich um ein etwas umfangreicheres Skript handelt, ist es unmöglich, die "m's" per hand zu entfernen. Gibt es da vielleicht einen Ausweeg für mich? Mfg. Sebastian Andres -- ---------------- Sebastian Andres Handy: (01 70) 3 22 47 73 E-Mail: sebastian@sebastianandres.de Homepage: www.sebastianandres.de
Hallo Sebastian,
"m's" per hand zu entfernen. Gibt es da vielleicht einen Ausweeg für mich?
ja, duconv dürfte das sein, was du brauchst. Ciao Michael -- ------------------------------------------------------------- Dipl. Phys. Michael Zacherle zacherle@szs.uni-karlsruhe.de Studienzentrum für Sehgeschädigte, Universität Karlsruhe (TH) Engesserstraße 4, 76128 Karlsruhe, Germany Tel.: (+49) 721/608-2760 Fax: (+49) 721/608-2020 -------------------------------------------------------------
Hi, On Mo, Mär 01, 2004 at 09:58:38 +0100, Sebastian Andres wrote:
wenn ich ein skript habe (aus dem Internet), welches unter Windows entwickelt wurde und ich es über Samba auf meinen server kopiere, hat das Skript an jedem Zeilenende ein m und funktioniert dadurch nicht.
Das ist kein M, sondern ein sog. "carriage return" (Wagenrücklauf). Unter Windows wird ein Zeilenumbruch in einer Textdatei durch die beiden Zeichen "carriage return" (cr) und "line feed" (lf) dargestellt. Andere Betriebssysteme begnügen sich mit einem Zeichen um einen Zeilenumbruch darzustellen. Unter linux ist das der "line feed". Wenn du jetzt eine unter Windows erstellte Textdatei unter Linux öffnest, ist das CR überflüssig bzw. es besitzt keine Funktion und wird desshalb wie alle anderen nicht-Steuerzeichen ausgegeben, was dann auf der Zeile wie das M aussieht. Viele Editoren wie z. B. Vim oder Emacs erkennen dieses Problem und zeigen dieses "M" nicht an. Zur Zeichensatzkonvertierung in Textdateien gibt es das Programm recode. Auf vielen Linux-Systemen (auch SuSE :-) ) existieren die Aliase dos2unix bzw. unix2dos, mit denen Textdateien leicht konvertiert werden können. Diese benutzen jedoch auch das Programm Recode. So, und hier noch der Aufruf von Recode zum konvertieren einer oder mehrerer Textdateien mit carriage returns nach Linux/Unix, falls dos2unix nicht existiert: recode lat1/cr-lf..iso-8859-1 <dateiname> Eine andere Möglichkeit ist das Suchen-und-Ersetzen im Editor: Suche nach: \r ersetzen durch: hth Henning -- Henning Oschwald SuSE AG SuSE-Blinux Support mailto: hoschwa@suse.de blinux-support: Di. und Do. 15:00 - 20:00 Uhr unter 0421/526-2480 SuSE-Blinux Homepage: www.blinux.suse.de
participants (4)
-
Henning Oschwald
-
Lars Stetten
-
Michael Zacherle
-
Sebastian Andres