На самом деле это единственный раздел про unix на этом форуме
Модераторы: /dev/random , Модераторы разделов
ferdis
Сообщения: 1
Сообщение
ferdis » 02.08.2013 08:56
Доброго всем дня.
Возникла задачка: Удаление переноса строки перед символом (
Есть данные:
Код: Выделить всё
0 расчет_пришел 12.07.13
32 сбой 13.07.13
(..здесь описание ошибки..)
0 расчет_пришел 14.07.13
0 расчет_пришел 15.07.13
Вот хотелось бы чтоб строка с описанием ошибка оказалась бы с самой ошибкой(предыдущая строка) через пробел:
Код: Выделить всё
0 расчет_пришел 12.07.13
32 сбой 13.07.13 (..здесь описание ошибки..)
0 расчет_пришел 14.07.13
0 расчет_пришел 15.07.13
Голову ломаю уже второй день, но так ни к чему не пришел. Подскажите, пожалуйста.
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL
Сообщение
SLEDopit » 02.08.2013 11:12
Это удалит вообще все переносы строк. А их нужно удалять при определённом условии.
В ответе /dev/random это условие соблюдается.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
moonglow
Сообщения: 90
ОС: CentOS
Сообщение
moonglow » 02.08.2013 11:26
SLEDopit писал(а): ↑ 02.08.2013 11:12
Это удалит вообще все переносы строк. А их нужно удалять при определённом условии.
В ответе /dev/random это условие соблюдается.
если скрипт ТС получает их по одной строке, то tr -d '\n' подходит(предполагается, что ТС сам выберет условие, т.к. не написал его, в т.ч. условие получения входных данных)
ок, вот ++ решение как у
/dev/random для vim (просто для разнообразия)
так удобно, если много файлов
Код: Выделить всё
$ vim -Es {имя файла или stdin} <<-EOF
:%s/\n(/(/g
:up
:q
EOF
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current
Контактная информация:
Сообщение
drBatty » 02.08.2013 13:06
moonglow писал(а): ↑ 02.08.2013 11:26
если много файлов