Как, собственно, отменить жёсткое форматирование в текстах набранных в Лексиконе и тому подобных редакторах ?
Нужно: убрать из абзацев CR+LF, задающих жесткий размер строки, к примеру, 70 символов, и не убирать там, где следующая строка будет начинаться с красной строки ?
Ни unix2dos ничего с этими текстами не делает, tr \r - тоже.
Текст из Лексикона (форматирование из под простых редакторов текста)
Модератор: Bizdelnick
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Текст из Лексикона
Что подразумевается под "красной строкой"? Там пустая строка между абзацами, или её нет, а в начале первой строки абзаца пробелы?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Текст из Лексикона
А разве должен? dos2unix заменил бы \r\n на \n, но это же вроде не то, чего Вы хотите?
tr -d \\r — эффект должен быть примерно такой же, как от dos2unix.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Текст из Лексикона
Нашёл на форуме.
Но от этого остаются переносы, приходится следующей командой уточнить:
Можно ли это объёдинить в один sed ?
Код: Выделить всё
sed -i -rn '/^( |$)/{x;s/\n/ /g;p;$!b;$x};$!H;$p' TEXT.TXT
Но от этого остаются переносы, приходится следующей командой уточнить:
Код: Выделить всё
sed -i '/[[:alnum:]]- /s/- //g' TEXT.TXT
Можно ли это объёдинить в один sed ?
бывает же такое ???
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Текст из Лексикона
Можно. Добавьте в конец через точку с запятой.
Upd. А, нет, не в конец... Я в таком упоротом скрипте без info sed не разберусь.
Upd. А, нет, не в конец... Я в таком упоротом скрипте без info sed не разберусь.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
- Bizdelnick
- Модератор
- Сообщения: 20752
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Текст из Лексикона
Я бы сделал так: perl -pi -e 'chomp; s/^\s+/\n/; s/([^-])$/$1 /; s/-$//;' text.txt
Есть недостаток: в начале файла появится лишний перевод строки, а в конце его не будет. Предполагается, что файл уже обработан dos2unix.
Есть недостаток: в начале файла появится лишний перевод строки, а в конце его не будет. Предполагается, что файл уже обработан dos2unix.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |