Wie kann ich den Befehl Dos2Ux einbinden ?

Code46

Erfahrenes Mitglied
Hi Leute,

Ich habe eine datei die ich von meinem PC auf den Unix Server copiere. Nun will ich das aber umwandeln mit dem dos2ux befehle auf dem Unix server wie mache ich das ?

Wuerde mich sehr freuen wenn ihr mir weiter helfen keonntet.

Danke
 
Hi.

Alternativen:

1. verwende einen Editor (z.B. Notepad++) der mit versch. Zeileendemarkierungen umgehen kann und speichere die Datei einfach mit LF Zeilenenden bevor du sie auf den Unix Server kopierst.

2. verwende tr auf dem Server um die CR Zeichen aus dem Dokument zu entfernen:

Code:
tr -d '\r' < dos.txt > unix.txt

3. installiere das dos2unix Tool und benutze es... Welches System hast du denn? Linux? Welche Distribution?

Gruß
 
Der Befehl dos2ux entfernt doch die Zeichen oder nicht ? Yap Linux ist der Server
Ich will das in meinem Python code einbinden um genau zu sein.

Code:
command = "dos2ux home/file.txt"

So ungefaehr sieht mein code aus
 
Der Befehl dos2ux entfernt doch die Zeichen oder nicht ?
Ja, vermutlich. Ich kenne das Programm dos2ux nicht. Ich kenne nur dos2unix.
Yap Linux ist der Server
Habe ich auch noch nie gehört. Google scheint auch nicht wirklich davon zu wissen.
Ich will das in meinem Python code einbinden um genau zu sein.
Warum willst du denn ein externes Tool aufrufen, wenn du Python hast? :eek:
Code:
command = "dos2ux home/file.txt"

So ungefaehr sieht mein code aus
Ja, und warum geht es nicht?

Gruß
 
@Code46

Also der korrekte Befehl für dos2ux lautet:
dos2ux DOSDATEI > UNIXDATEI

Sprich Du mußt mit Ausgabeumleitung arbeiten, sonst wird es nur auf dem Bildschirm angezeigt.

Allerdings muß ich Deepthroat recht geben, warum machst Du das nicht gleich in Deinem Phytonprogi.
Du brauchst doch die komplette Textdatei nur in einen String (Stringliste) zu laden. Danach entfernst Du alle Charakter 13 und schreibst den String in die Datei zurück.
Ich zeig Dir mal hier einen Codeschnipsel wie ich es unter Delphi lösen würde :
Code:
var
   S : TStringlist;
begin
  S := TStringlist.Create;
  S.LoadFromFile('Deine Textdatei');
  S.CommaText := StringReplace(S.CommaText,#13,'',[rfReplaceAll]);
  S.SaveToFlie('Deine UNIX-Textdatei);
  S.Free;
end;

Ich denke unter Phyton gibt es ein Äquivalent zu diesem Code. Vielleicht geht es dort sogar noch einfacher. Da brauchst Du wahrscheinlich z.B. das Free nicht mehr, weil das Freigeben Phyton selbst macht.

Gruß Twinsetter
 
Zurück