anonymous@RULINUX.NET~# Last login: 2022-08-09 17:57:32
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

А как склеить несколько строк в одну?

Дано:

290385902389
2903829085fd
23982908de3c
23085092385a
35ef

Надо получить (испльзуя bash, sed, grep и т. п.):

2903859023892903829085fd23982908de3c23085092385a35ef

anonymous(*) (2014-02-10 13:34:13)

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: А как склеить несколько строк в одну? от anonymous 2014-02-10 13:34:13
avatar
Скрыть

Re:А как склеить несколько строк в одну?

perl -i -n -p -e 's/[\n\cM\cJ]//igs' file.txt

vilfred(*)(2014-02-10 13:40:47)

[#] [Добавить метку] [Редактировать] Ответ на: А как склеить несколько строк в одну? от anonymous 2014-02-10 13:34:13
avatar
Скрыть

Re:А как склеить несколько строк в одну?

cat sample.txt | tr '\n' '@' | sed -e 's/@//g'

Ax-Xa-Xa(*)(2014-02-10 13:46:09)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36
[#] [Добавить метку] [Редактировать] Ответ на: Re:А как склеить несколько строк в одну? от Ax-Xa-Xa 2014-02-10 13:46:09
avatar
Скрыть

Re:А как склеить несколько строк в одну?

Так проще:

bash

cat sample.txt | tr '\n'
 

anonymous(*)(2014-02-10 14:00:16)

[#] [Добавить метку] [Редактировать] Ответ на: Re:А как склеить несколько строк в одну? от anonymous 2014-02-10 14:00:16
avatar
Скрыть

Re:А как склеить несколько строк в одну?

Уверен? А то моя Убунта с тобой не согласна)))

bash

$ cat sample.txt | tr '\n'
tr: пропущен операнд после «\\n»
При преобразовании необходимо задать две строки.
 

Ax-Xa-Xa(*)(2014-02-10 14:06:32)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36
[#] [Добавить метку] [Редактировать] Ответ на: Re:А как склеить несколько строк в одну? от vilfred 2014-02-10 13:40:47
avatar
Скрыть

Re:А как склеить несколько строк в одну?

> perl -i -n -p -e 's/[\n\cM\cJ]//igs' file.txt
А нельзя всё это засунуть в sed?

anonymous(*)(2014-02-10 14:37:44)

[#] [Добавить метку] [Редактировать] Ответ на: Re:А как склеить несколько строк в одну? от anonymous 2014-02-10 14:37:44
avatar
Скрыть

Re:А как склеить несколько строк в одну?

можно, s/[\n\cM\cJ]//g вот регексп для седа

\n - обычный юниховый перевод каретки

\cM - досовский перевод каретки, иногда в редакторах его видно как ^M

\сJ - не знаю что такое, чтото мактиндошевское или новелловское наверное

И не знаю, будет ли работать квантификатор квадратные скобки s/[регексп]/

[\n\cM\cJ] означает заменять любой из тех символов, которые в квадратных скобках, как это в седе - не знаю

vilfred(*)(2014-02-10 14:58:55)

[#] [Добавить метку] [Редактировать] Ответ на: А как склеить несколько строк в одну? от anonymous 2014-02-10 13:34:13
avatar
Скрыть

Re:А как склеить несколько строк в одну?

tr -d "\n" <sample.txt

SystemV(*)(2014-02-10 15:12:31)

Emacs-w3m/1.4.527 w3m/0.5.3
[#] [Добавить метку] [Редактировать] Ответ на: Re:А как склеить несколько строк в одну? от Ax-Xa-Xa 2014-02-10 14:06:32
avatar
Скрыть

Re:А как склеить несколько строк в одну?

> Уверен? А то моя Убунта с тобой не согласна)))

Извини, отвлекли - опцию -d забыл вставить (в командную строку tr). С этой опцией не только твоя бубунта, но и воще любой Юникс согласится на что угодно.

anonymous(*)(2014-02-10 15:19:26)

[#] [Добавить метку] [Редактировать] Ответ на: Re:А как склеить несколько строк в одну? от anonymous 2014-02-10 15:19:26
avatar
Скрыть

Re:А как склеить несколько строк в одну?

А tr-у (sed-у) можно указать непосредственные значения в hex? А то у меня походу не просто \n в конце, а 0x0a 0x0d.

anonymous(*)(2014-02-10 16:07:01)
Отредактировано anonymous по причине "не указана"
[#] [Добавить метку] [Редактировать] Ответ на: Re:А как склеить несколько строк в одну? от anonymous 2014-02-10 16:07:01
avatar
Скрыть

Re:А как склеить несколько строк в одну?

'\n\r' - решает! :)

anonymous(*)(2014-02-10 16:18:48)

[#] [Добавить метку] [Редактировать] Ответ на: Re:А как склеить несколько строк в одну? от anonymous 2014-02-10 16:18:48
avatar
Скрыть

Re:А как склеить несколько строк в одну?

Вообще я думаю, лучше перед любой обработкой текста в любой конкретной выч.среде - текст должен быть приведён к стандартам этой среды. Например с помощью программы dos2unix. Ведь концы строк - это все улучшения текстового формата от микрософта - текст запросто может оказаться закодирован в UTF-16 и/или включать в себя индикатор эндианности, который приводит некоторые утилиты в смущение.

anonymous(*)(2014-02-10 16:36:18)

[#] [Добавить метку] [Редактировать] Ответ на: Re:А как склеить несколько строк в одну? от anonymous 2014-02-10 16:36:18
avatar
Скрыть

Re:А как склеить несколько строк в одну?

> Например с помощью программы dos2unix.
Если ты заранее не знаешь какая кодировка?

Ax-Xa-Xa(*)(2014-02-10 16:42:28)

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36
[#] [Добавить метку] [Редактировать] Ответ на: Re:А как склеить несколько строк в одну? от Ax-Xa-Xa 2014-02-10 16:42:28
avatar
Скрыть

Re:А как склеить несколько строк в одну?

А что от этого изменится?

anonymous(*)(2014-02-10 17:06:59)

[#] [Добавить метку] [Редактировать] Ответ на: А как склеить несколько строк в одну? от anonymous 2014-02-10 13:34:13
avatar
Скрыть

Re:А как склеить несколько строк в одну?

vim :5J

Dr.uid(*)(2014-02-10 17:12:00)

Mozilla/5.0 (X11; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0
[#] [Добавить метку] [Редактировать] Ответ на: Re:А как склеить несколько строк в одну? от Dr.uid 2014-02-10 17:12:00
avatar
Скрыть

Re:А как склеить несколько строк в одну?

А он умеет в неинтерактивном режиме работать?

anonymous(*)(2014-02-10 17:34:17)

[#] [Добавить метку] [Редактировать] Ответ на: Re:А как склеить несколько строк в одну? от anonymous 2014-02-10 17:34:17
avatar
Скрыть

Re:А как склеить несколько строк в одну?

Про интерактив в сабже не оговаривалось, и таки да, умеет, но это извращение, когда есть авк/сед/баш/перл/питон итд...

Dr.uid(*)(2014-02-10 17:46:49)

Mozilla/5.0 (X11; Linux x86_64; rv:27.0) Gecko/20100101 Firefox/27.0
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!