odt2txt неправильно обрабатывает разрывы страниц

225
Lu Kas

Я также не уверен, что делаю что-то не так или это ошибка.

Я хочу использовать команду bash odt2txt для преобразования odt-файла, созданного с помощью Libreoffice Writer, в текстовый файл. Однако разрывы строк, похоже, обрабатываются неправильно. Каждый разрыв строки преобразуется в два разрыва строки, несколько разрывов строки также преобразуются в два разрыва строки.

Если я, например, сохранить это

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

в test.odt с LO Writer, а затем сделать

odt2txt test.odt 

я получил

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

Использование любого из вариантов мне тоже не помогло.

Я не нахожу ничего об этом в Google, поэтому мне интересно, если я единственный, кто имеет эту проблему.

Обновление: вывод из файла cat -vet output.txt, как указано в комментарии

$ This is a test$ $ one line break before this$ $ two line breaks before this$ $ and three line breaks before this$ $ 
0
проверьте вывод с помощью `cat -vet output.txt`. Если вы видите `^ M $` в конце каждой строки, либо используйте `dos2unix output.txt`, либо посмотрите doc на` odt2txt`, чтобы узнать, есть ли возможность создавать окончания строк Unix / Linux ИЛИ выключить Обработка Windows. Может быть, будет полезно проверить исходный файл на наличие `^ M $` s, и тогда вы узнаете источник. shellter 7 лет назад 0
Я добавил вывод `cat -vet output.txt` в вопросе. Я не думаю, что это обработка Windows, так как это не просто удвоение каждого конца строки. Каждая вещь превращается в две (т.е. три или более также превращаются в две). (извините за мою позднюю реакцию, кстати. Был на выходные без интернета) 7 лет назад 0
Если вы используете «Сохранить как» и выбираете «Текстовый документ» из самого Writer, форматирование будет выглядеть так, как вам бы хотелось, как и выбор всего, копирование и вставка в текстовый редактор. AFH 7 лет назад 0
@ АФХ, да, я знаю. Но мне нужно сделать это из командной строки. Я хочу запустить какой-нибудь скрипт команд для текста, который я пишу, однако я хочу продолжать редактировать текст в LO. Я хочу продолжать использовать инструменты разметки (не требуется в окончательном тексте, но помогает мне структурировать). И всегда сохранение в виде текста или копирование в текстовый файл, в отличие от простого сохранения, неэффективно. Lu Kas 7 лет назад 0
Однако я нашел обходной путь. Теперь я просто сохраняю в .docx и использую docx2txt. docx2txt, кажется, дает правильное поведение. Так что для меня это больше не проблема, но мне все еще кажется, что в odt2txt есть ошибка. Или я что-то не так делаю ... Lu Kas 7 лет назад 0
После сохранения в виде текста вы все равно можете вернуться к редактированию исходного файла ODF. Но я согласен, что вы, вероятно, нашли ошибку, если только некоторые параметры конвертации не изменят обработку повторяющихся строк. Рад, что вы нашли решение. Вы должны представить это как ответ, для пользы других. AFH 7 лет назад 0
Так я должен сообщить об этом где-нибудь? Я действительно не знаю как. Или никто не заинтересован? Lu Kas 7 лет назад 0

0 ответов на вопрос