Die Seite zum Umgang mit Odt2txt bricht falsch

289
Lu Kas

Ich bin auch nicht sicher, ob ich etwas falsch mache oder es ist ein Fehler.

Ich möchte den bash-Befehl odt2txt verwenden, um eine mit Libreoffice Writer erstellte odt-Datei in eine Textdatei zu konvertieren. Die Zeilenumbrüche scheinen jedoch nicht korrekt behandelt zu werden. Jeder einzelne Zeilenumbruch wird in zwei Zeilenumbrüche umgewandelt, mehrere Zeilenumbrüche werden ebenfalls in zwei Zeilenumbrüche umgewandelt.

Wenn ich das zum Beispiel speichere

This is a test one line break before this  two line breaks before this    and three line breaks before this 

mit LO Writer in test.odt und dann tun

odt2txt test.odt 

Ich bekomme

This is a test  one line break before this  two line breaks before this  and three line breaks before this 

Die Verwendung einer der Optionen hat mir auch nicht geholfen.

Ich finde nichts darüber bei Google, daher frage ich mich, ob ich der einzige bin, der dieses Problem hat.

Update: Ausgabe von cat -vet output.txt, wie im Kommentar angefordert

$ This is a test$ $ one line break before this$ $ two line breaks before this$ $ and three line breaks before this$ $ 
0
Testen Sie Ihre Ausgabe mit `cat -vet output.txt`. Wenn Sie am Ende jeder Zeile "^ M $" sehen, verwenden Sie entweder "dos2unix output.txt" oder schauen Sie sich doc für "odt2txt" genauer an, um zu sehen, ob es eine Option gibt, Unix / Linux-Zeilenenden zu erstellen oder abzuschalten Windows-Verarbeitung. Vielleicht ist es gut, Ihre Originaldatei auch auf `^ M $` s zu überprüfen, und dann kennen Sie die Quelle. shellter vor 7 Jahren 0
Ich habe die Ausgabe von `cat -vet output.txt` in die Frage eingefügt. Ich denke jedoch nicht, dass es Windows-Verarbeitung ist, da es nicht nur eine Verdopplung jedes Zeilenendes ist. Jedes Ding wird in zwei umgewandelt (dh drei oder mehr werden auch in zwei umgewandelt). (Entschuldigung für meine späte Reaktion, war übrigens für das Wochenende ohne Internet unterwegs) vor 7 Jahren 0
Wenn Sie "Speichern unter" verwenden und "Textdokument" in Writer selbst auswählen, scheint die Formatierung so zu sein, wie Sie möchten, und Sie können alle auswählen, kopieren und in einen Texteditor einfügen. AFH vor 7 Jahren 0
@AFH, ja ich weiß. Aber ich muss es von der Kommandozeile aus tun. Ich möchte ein Skript mit Befehlen für den Text ausführen, den ich schreibe. Ich möchte jedoch weiterhin den Text in LO bearbeiten können. Ich möchte in der Lage sein, die Markierungswerkzeuge weiterhin zu verwenden (im endgültigen Text nicht erforderlich, hilft mir jedoch bei der Strukturierung). Das Speichern als Text oder Kopieren in eine Textdatei, im Gegensatz zum bloßen Speichern, ist ineffizient. Lu Kas vor 7 Jahren 0
Ich habe jedoch inzwischen eine Problemumgehung gefunden. Jetzt speichere ich einfach in .docx und verwende docx2txt. docx2txt scheint das richtige Verhalten zu geben. Es ist also nicht mehr wirklich ein Problem für mich, aber es scheint mir immer noch, dass odt2txt einen Fehler hat. Oder ich mache etwas falsch ... Lu Kas vor 7 Jahren 0
Nach dem Speichern als Text können Sie immer noch die ursprüngliche ODF-Datei bearbeiten. Ich stimme jedoch zu, dass Sie wahrscheinlich einen Fehler gefunden haben, es sei denn, einige der Konvertierungsoptionen ändern die Behandlung für wiederholte Zeilenumbrüche. Schön, dass Sie eine Lösung gefunden haben. Sie sollten es als Antwort zum Nutzen anderer einreichen. AFH vor 7 Jahren 0
Soll ich das irgendwo melden? Ich weiß nicht wirklich wie. Oder interessiert sich wirklich niemand? Lu Kas vor 7 Jahren 0

0 Antworten auf die Frage