Dedies-Board (https://www.dedies-board.de/wbb2/index.php)
- Linux (https://www.dedies-board.de/wbb2/board.php?boardid=30)
-- Programme (https://www.dedies-board.de/wbb2/board.php?boardid=34)
--- OOO öffnet plain_text Dateien als CSV (https://www.dedies-board.de/wbb2/thread.php?threadid=2464)


Geschrieben von Rene-gad am 16.03.2009 um 08:52:

  OOO öffnet plain_text Dateien als CSV

Hallo Zusammen,
ich habe eine Frage. Habe Mandriva 2009.0, OOO 3, KDE4.2.1.
Wenn ich eine Textdatei mit OOWriter öffnen will, wird diese als CSV-Datei verstanden und im OOCalc geöffnet. In der Datei-Zuweisung sind TXT-Dateien mit dem OOWriter verknüpft. Evtl. liegt das Problem im OOO selbst. Aber wo? Wer weiß Rat?
TIA.



Geschrieben von rich20 am 16.03.2009 um 17:21:

 

Hallo Rene-gad,

bei mir läuft OOO 2,4, so wie es aussieht, scheint es ein Problem mit den Textdateien zu sein. Ich habe jetzt etwas herumgetestet und bin dahinter gekommen, dass nur jene Textdateien im Calculator geöffnet werden, welche mir mal zugesandt wurden und wo ich annehme, dass diese auf einem Windows PC geschrieben wurden. (könnte dies eventuell mit der Zeichencodierung zusammen hängen?)
Nehme ich Textdateien, welche ich selbst geschrieben habe, werde diese richtig mit dem Writer geöffnet.

Allerdings mit "öffnen mit Textverarbeitung" lassen sich alle als Textformular laden.

Versuch es mal mit der angehängten Datei, obn diese richtig geöffnet wird. Diese wurde mit gedit geschrieben.



Geschrieben von Rene-gad am 16.03.2009 um 18:24:

 

Moin rich20 Petzauge
Zitat:
Original von rich20
diese auf einem Windows PC geschrieben wurden.

Das ist so :)
Zitat:
Nehme ich Textdateien, welche ich selbst geschrieben habe, werde diese richtig mit dem Writer geöffnet. Versuch es mal mit der angehängten Datei, obn diese richtig geöffnet wird. Diese wurde mit gedit geschrieben

Zitat:
Versuche es mal mit dieser Textdatei. Wenn du diese richtig öffnen kannst, bestätigt sich meine Vermutung.
Also Du lagst richtig mit Deiner Vermutung top



Geschrieben von dedie am 16.03.2009 um 18:38:

 

Könnte damit zusammenhängen das eine *.txt unter Windows standardgemäss im "ANSI" Code abgespeichert wird und nicht wie in der von rich20 hochgeladenen in "UTF8" Code.

Ich habe diese *.txt unter Windows erstellt und im "UTF8" Code abgespeichert versuchst mal(ich kann nicht testen da ich nur Office 2000, 2003 und 2007 zur Verfügung habe).

[attach]319[/attach]



Geschrieben von Haui am 16.03.2009 um 19:59:

 

Hallo,

meiner Vermutung nach liegt das nicht an der Zeichenkodierung selbst , sondern an den Zeilenumbrüchen. Unter Linux ist das standardmäßig nur '\n' und unter Windows '\r\n'. Wer es unter Linux selbst testen möchte:
perl -e 'print "foo\n" ' > linux.txt vs. perl -e 'print "foo\r\n" ' > windows.txt und dann die Dateien jeweils mit ooffice datei öffnen.

Darum wird dedies Datei auch mit dem writer geöffnet - die beinhaltet nämlich keinen Zeilenumbruch. Petzauge
Zitat:
file Windows.txt
Windows.txt: UTF-8 Unicode (with BOM) text, with no line terminators


Wobei ich Dir - sofern du die Dateien nicht als "Office-Dokument" weiterverarbeiten willst - sowieso zu einem richtigen Texteditor raten würde. Petzauge



Geschrieben von Rene-gad am 17.03.2009 um 09:36:

 

Zitat:
Original von Haui
Wobei ich Dir - sofern du die Dateien nicht als "Office-Dokument" weiterverarbeiten willst - sowieso zu einem richtigen Texteditor raten würde. Petzauge
Das ist ein guter Rat Petzauge . Das Problem: afayk besuche ich das virusinfo.info - Forum. Wenn ich von Linux aus ein Script im e.g. gedit erstelle, kommen diese überflüssigen Zeilenumbrüche nach jeder Zeile, ergo muss ich jedes Script nachträglich korrigieren. Es ist mir zu umständlich großes Grinsen



Geschrieben von Haui am 17.03.2009 um 13:17:

cool

Hallo,

bei kate (dem KDE-Editor) kannst du das Zeilenende beispielsweise auf Windows/Dos umstellen. Fröhlich
Warum du gedit verwendest weiß weiß ich nicht, aber ich bin sicher das geht es auch. Ansonsten kannst du eine Datei mit "Linux-Zeilenenden" relativ einfach in eine mit "Windows-Zeilenenden" ändern. perl -ne '$_ =~ s#\n#\r\n#;print' < linux.txt > windows.txt schreibt dir den Inhalt von linux.txt nach windows.txt und ersetzt dabei alle '\n' durch '\r\n'.



Geschrieben von Rene-gad am 17.03.2009 um 22:34:

 

Zitat:
Original von Haui
bei kate (dem KDE-Editor) kannst du das Zeilenende beispielsweise auf Windows/Dos umstellen. Fröhlich
Warum du gedit verwendest weiß weiß ich nicht
Das ist simple: Kate kann keine Text-Dateien mit nicht-lateinischen Buchstaben als solche erkennen, sondern schreibt immer Das ist eine binäre Datei, also noch ein doofes Linux-Programm Petzauge
Zitat:
Ansonsten kannst du eine Datei mit "Linux-Zeilenenden" relativ einfach in eine mit "Windows-Zeilenenden" ändern.
Ahmm danke, aber.... wo soll ich das eingeben? Im Terminal? Mit root - login?



Geschrieben von Haui am 17.03.2009 um 22:51:

 

Zitat:
Original von Rene-gad
Das ist simple: Kate kann keine Text-Dateien mit nicht-lateinischen Buchstaben als solche erkennen, sondern schreibt immer Das ist eine binäre Datei, also noch ein doofes Linux-Programm Petzauge

Das kann ich so natürlich nicht stehen lassen. Petzauge
Doof ist hier nämlich v.a. die Tatsache, dass Windows - völlig unisnnigerweise übrigens - ein CR und ein LF nacheinander produziert, wobei das CR natürlich vollkommen überflüssig ist. Zumal ist kate natürlich UTF8-kompatibel und kommt somit selbstverständlich auch mit nicht-lateinischen Buchstaben zurecht.

Zitat:
Ahmm danke, aber.... wo soll ich das eingeben? Im Terminal? Mit root - login?

Das liest einfach eine Datei (linux.txt) ein und schreibt die Datei mit veränderten Zeilenenden - so wie sie unter Windows üblich sind - in eine Ausgabedatei (windows.txt). root mussst du dafür selbstverständlich nicht sein.


Edit: Ich habe wohl oben '\r\n' ein paar mal vertauscht angegeben (ist jetzt ausgebessert) - das ändert aber nichts an meinen Festellungen, ich wollte das nur kurz angemerkt haben.



Geschrieben von rich20 am 18.03.2009 um 00:19:

 

Danke Haui,

es funktioniert. Schön wäre es natürlich, wenn man mehrere Dateien mit *.txt auf einmal ändern könnte.

Aber durch deinen Tipp bin ich dahinter gekommen, wie man mit gedit relativ schnell mehrere Dokumente hin und wieder zurück wandeln kann.
Zitat:
und ersetzt dabei alle '\n' durch '\r\n'

Einfach die gewünschten Dokumente alle markieren, danach "öffnen mit gedit". Anschließend oben "suchen/ersetzen" wählen und ersetze "\n" durch "\r\n", in die Felder rein schreiben.
Danach wählt man nacheinander alle offenen Tabs und klickt bei jedem auf "alle ersetzen".

Umgekehrt funktioniert es genau so.

Nachtrag:
Komisch, es hat bei mir trotz der vertauschten \r\n mit der Konsole funktioniert. Jedenfalls hat OOO anschließend beim öffnen nicht gemeckert.

Nachtrag zwei:
Satz ausgebessert.



Geschrieben von Haui am 18.03.2009 um 01:05:

 

So, nochmal kurz gesucht und fündig geworden: Ein Tool, das beide Formate ineinander wandeln kann gibt es natürlich schon längst und es nennt sich dos2unix. Die Manpage verrät näheres. Petzauge
Das Tool nimmt selbstverständlich auch mehrere txt-Dateien oder Wildcards (*.txt) als Argument.



Geschrieben von Vimes am 18.03.2009 um 22:22:

 

dos2unix wollte ich auch grade vorschlagen. Es gibt nämlich auch behinderte Mailprogramme wie Lotus Notes, die einem einen Linefeed UND einen Carriage Return an das Ende jeder Zeile hängen. (Jeder Zeile, auch dann, wenn man da gar keinen Absatz eingebaut hat!) Da hilft das dann auch, wenn man sich den Mist mit einem vernünftigen Mailprogramm (hier: mutt) ansehen will ...

Unter Debian heißt das Paket übrigens tofrodos. dos2unix an sich gibt es dort als Paket nicht, wiewohl der Befehl tut. Da wird dann ein Symlink benutzt.

MfG
Vimes



Geschrieben von rich20 am 18.03.2009 um 23:11:

 

Hi Vimes,

es wundert mich, dass du dich nicht schon früher gemeldet hast, wo doch dein Lieblingseditor dies auch kann. Angeregt durch diese Debatte und eben auch durch Hauis Tipp dos2unix näher anzuschauen, habe ich mich mit diesem Thema etwas intensiver befasst.

Dabei hab ich entdeckt, dass auf meinem Ubuntu schon einige Möglichkeiten vorhanden sind.
Angefangen von gedit, wo man dies nur durch ersetzen und anschließend "speichern unter" funktioniert, ist vim auch auf der Distri enthalten. Damit geht es denkbar einfach. set ff=unix, oder set ff=dos.
Weiters befinden sich noch sed Unix Stream Editor und iconv standardmäßig auf der Distri.

Mit allen dieser Programme kann man Zeilenenden umwandeln. Zusammen mit Hauis Tipp
"-ne '$_ =~ s#\n#\r\n#;print' < linux.txt > windows.txt" ist das schon eine ganze Menge. yes



Geschrieben von Vimes am 19.03.2009 um 23:06:

 

Zitat:
Original von rich20
es wundert mich, dass du dich nicht schon früher gemeldet hast, wo doch dein Lieblingseditor dies auch kann


Bin immer so unter Druck großes Grinsen

vim hat so viele Optionen und Möglichkeiten ... ich habe hier ein ganzes Buch darüber rumstehen. Ich komme nur nicht dazu, das mal konsequent zu beackern ... Petzauge

MfG
Vimes