Как убрать перенос строк с помощью sed?
illifant и mm3 большое спасибо. Ваши ответы очень помогли.

если нужно удалить все \n, то проще использовать

А зачем там «/$/N» вместо просто «N»?
Тема обсосана на stackoverflow.
Сам-то видел эти маны?
Мёсье не осилил увидеть команды : и t на видном месте в мане, и теперь со всех требует прув, не допуская существования более вдумчивых людей?

без понятия что означают все эти 20 символов (объяснил бы хоть кто), но они работают.
Здесь куча способов удалить ‘\n’ на разных языках.
Эти? 1) метка 2) добавляем к текущей строке сдедующую (через \n) 3) удаляем разделитель 3) если команда s/// что-то сделала — переходим на метку.
Как отключить перенос строки в терминале?
Мне нужно просматривать большие файлы журналов с помощью оболочки Bash. Я использовал less для открытия файлов, но так как строки слишком длинные, происходит какая-то перенос строки / слова.
Поскольку файлы представляют собой журналы Log4J, и в начале каждой строки есть шаблон, обернутые строки затрудняют анализ выходных данных, поэтому я начал использовать метод, less -S который прерывает длинные строки.
Но теперь мне нужно использовать tail -f , и это также строка переносит вывод. Можно ли отключить перенос строки в оболочке bash для всех команд?
Примечание: есть ответ на другой вопрос, в котором упоминается escape-последовательность echo -ne ‘\e[?7l’ , но он не работает на bash.
Вы действительно нуждаетесь tail -f или хотели бы что-то less +F сделать Поскольку кажется, что вы все еще хотите интерактивный пейджер, мне кажется, что было бы намного легче придерживаться его, less чем переопределять его самостоятельно.
Последнее замечание: вы рассматривали tail -f file | less ?
less -S +F filename
- Нажмите, Ctrl c чтобы остановить хвост, и теперь вы можете перемещаться влево и вправо с помощью клавиш курсора.
- Нажмите, Shift f чтобы возобновить хвостохранилище
- Нажмите Ctrl c , q чтобы выйти
Нашел хороший ответ от суперпользователя , который работает из коробки gnome-terminal и, вероятно, для других терминалов:

Предположим, вы определили COLUMNS переменную, вы можете выполнить
в противном случае $COLUMNS подставьте ширину столбцов терминала, полученную с помощью stty -a .
Вы можете отключить перенос строк для less , tail и любой другой команды под солнцем Linux с:
Чтобы восстановить перенос строки, используйте:
Эмулятор терминала терминатора (http://software.jessies.org/terminator/) позволяет не переносить длинные строки и имеет горизонтальную прокрутку (но написана на Java).
Два хороших ответа / примеры здесь
Одно предостережение: по крайней мере, на встроенном терминале на моем Mac Cut, кажется, не очень хорошо обрабатывает символы табуляции. Кажется, он отображает их, например, с 8 пробелами, но просто вычисляет их как 4 пробела в ширину или что-то в этом роде. Другими словами, если ваш терминал имеет ширину 80 символов и ваш вывод содержит несколько вкладок на строку, вы должны установить ширину, может быть, 60 или что-то подобное. YMMV.
Используйте ниже варианты с less . Это отключит перенос слов и сохранит цвета текста, если указано.
less -SR +F filename
На этой странице приведено несколько примеров с использованием -f . из моих тестов это не работает должным образом, если вам действительно нужен конвейер (например, если вам нужно передать что-то большее, например, grep), вы можете использовать что-то вроде :
возможно, не самый лучший по производительности, но работает . иначе, если не требуется дополнительная передача, вы можете использовать что-то другое, например:
Есть много комментариев, которые отклоняются от вопроса. Вопрос ОП был
Но теперь мне нужно использовать tail -f , и это также строка переносит вывод. Можно ли отключить перенос строки в оболочке bash для всех команд?
Некоторые комментарии были сделаны по поводу функции автоматического переноса, заявив, что она есть не во всех терминалах. Может быть. Но (кроме терминатора , разработчики которого не описывают описание терминала ), все приведенные примеры были xterm, rxvt, а также похожими или потомками. Все это связано.
+aw Вариант в xterm соответствует autoWrap ресурсу. Обращаясь к руководству, он говорит, что
что, безусловно, не «зависит от вашего выбора терминала», поскольку любой терминал с VT100-совместимостью поддерживает эту функцию. xterm и rxvt делают это, например. Другие делают так же.
Вопрос о том, будет ли эта функция полезна для OP, спорен. Подавление переноса строк — это только один аспект проблемы:
- Оболочка знает ширину терминала, но это можно переопределить, установив COLUMNS «большое» значение.
- Конечно, это означает, что приложения будут тратить много времени на написание правого поля (а некоторые, если его неправильно, все равно начнут новую строку).
- OP, вероятно, предполагал, что приложение будет прокручивать влево / вправо, чтобы использовать широкий терминал. (терминатор делает это — частично — но другие его недостатки отменяют это, за исключением тех, кто использует терминал только для вывода cat файла журнала на экран).
- На самом деле OP ищет набор инструментов, которые могут отключить перенос строк, особенно для просмотра файлов журналов. Если терминал работает достаточно хорошо для общего использования, это не имеет отношения к выбору инструментов, которые используются в терминале.
Есть пейджеры, которые могут делать то, что нужно, например, многозадачный, который перечисляет в своих функциях
Перенос строки можно отключить, после чего можно перемещаться влево / вправо с помощью клавиш курсора.
Будучи основанным на ncurses, он должен работать на любом из указанных терминалов.
Как убрать переносы в линуксе
Вы здесь: Home
Бесплатный офисный пакет LibreOffice
4. Форматирование документа
4.6. Расстановка переносов
4.6. Расстановка переносов
Переносы по слогам можно организовать как автоматически, так и вручную. Такая возможность позволяет пользователю этой программы больше маневра при работе с текстом. Кроме этого переносы можно организовать не во всем документе, как это предлагается, например, в Microsoft Word , а только в нужном фрагменте текста.
Если переносы нужно организовать в нескольких абзацах, то для автоматического переноса слов по слогам нужно сначала выделить текст, в котором Вы хотите организовать переносы. В выделенных абзацах будут созданы переносы, даже если абзац выделен частично. В абзацах, которые не были выделены, переносов не будет! Если переносы нужно организовать всего лишь в одном абзаце, то текст можно не выделять — достаточно поместить в этот абзац курсор. Выполните команду Вставка → Абзац. Перейдите на вкладку Положение на странице (Рис. 28).
Рис. 28. Диалоговое окно Абзац. Вкладка Положение на странице
Параметры для настройки автоматических переносов находятся на панели Расстановка переносов.
Установите флажок в индикатор Автоматический перенос. Нажмите на кнопку ОК.
После установки флажка в индикаторе Автоматический перенос становятся доступными другие параметры на панели Расстановка переносов:
- Символов в конце строки — минимальное число символов, которое должно оставаться до конца строки перед вставкой переноса;
- Символов в начале строки — минимальное число символов, которое должно быть в начале строки после переноса;
- Максимальное количество последовательных переносов — максимальное число последовательных строк, в которых возможен перенос. Число переносов находится в диапазоне от 0 до 99. Если число переносов не указано, то есть равно 0, то это означает, что число переносов подряд не ограничено.
Для ручной расстановки переносов ничего предварительно выделять не нужно. Анализ текста в любом случае начнется с начала текста, поэтому положение курсора в тексте документа тоже не имеет никакого значения. При ручном способе расстановки переносов совершенно не важно, были до этого автоматически организованы переносы или нет.
Для ручной расстановки переносов выполните команду Сервис → Язык → Расстановка переносов. После этого открывается диалоговое окно Расстановка переносов (Рис. 29). Выделенный текст анализируется на возможность создания переноса. Как только будет найдено первое такое слово, то оно будет предложено для корректировки переноса. Найденное слово, в котором можно организовать перенос по слогам, выводится в поле Слово. В тексте документа слово выделяется фоном. Фрагмент текста, в котором находится данное слово, обязательно будет показан на экране. Если до этого данного слова не было видно на экране, то документ будет автоматически прокручен на экране.
Рис. 29. Ручная расстановка переносов
Рекомендуемый перенос в слове указывается в поле Слово. Буквы до этого символа включительно в любом случае поместятся на данной строке. Тем не менее, если это необходимо, Вы можете перенести последний слог этого слова на следующую строку. Этот слог находится между символом «равно» (=) и дефисом (-). Для этого нажмите на кнопку Стрелка влево. После этого символы равно и дефис поменяются местами. При этом станет доступной кнопка Стрелка вправо, которая позволит вернуть слог на место.
Если кнопки со стрелками не доступны, то это означает только одно — в слове нет слогов, которые можно было бы перенести.
В правой части диалогового окна находятся следующие кнопки:
- Перенести — создает перенос по слогам в выбранном слове;
- Закрыть — закрывает диалоговое окно Расстановка переносов без переноса по слогам в выбранном слове;
- Пропустить — не применяет перенос в выбранном слове и предлагает следующее слово, в котором можно создать перенос по слогам;
- Удалить — удаляет ручной перенос, если он был создан раньше. Автоматический перенос эта кнопка не отменяет;
- Справка — вызывает справку по данному диалоговому окну.
Автоматические и ручные переносы очень хорошо видно на экране, не зависимо от того, включена кнопка Непечатаемые символы или нет. Ручные переносы выделены на экране серым фоном, а автоматические переносы остаются на белом фоне. Ручные переносы называются еще мягкими переносами. В Microsoft Word также возможно создание мягких переносов. На печать серый фон выводиться не будет.
Кроме ручных переносов серым фоном помечаются неразрывные дефисы. Если документ с мягкими переносами или неразрывными дефисами предназначен для чтения на ПК, то никаких проблем в дальнейшем с таким текстом не будет. Но если такой текст предназначен для чтения или конвертирования для чтения в электронных книгах (ридерах), то символы мягкого переноса или неразрывного дефиса могут быть не прочитаны. Обычно такие символы становятся нечитаемыми и выглядят как прямоугольничек. Читать такой текст становится неудобно. Поэтому перед преобразованием такого текста лучше его форматировать. Оптимальный вариант — использовать расширение OOoFBTools, которое автоматически обрабатывает такой текст. Мягкие переносы удаляются, а неразрывные дефисы преобразуются сначала в обычные дефисы, а потом в короткие тире, читать которые удобнее.
- < Назад
- Вперёд >
Материалы с этого сайта разрешается использовать в личных некоммерческих целей. Запрещается размещать материалы на других сайтах без разрешения правообладателя.