LINUX.ORG.RU

Строки, новые строки.


0

0

Добрый день/утро/вечер/ночь.

Снова нужна помощь. Имеем:

ADD TABLE "dba"
AREA "Tbl256DataArea"
ADD INDEX "dba" ON "dba"
AREA "Tbl256IndexArea"
ADD TABLE "med"
AREA "Tbl256DataArea"
ADD INDEX "mstrah" ON "med"
AREA "Tbl256IndexArea"
ADD INDEX "med" ON "med"
AREA "Tbl256IndexArea"
ADD TABLE "pss"
AREA "Tbl64DataArea"

Надо преобразовать к виду:

ADD TABLE "dba" AREA "Tbl256DataArea"
ADD INDEX "dba" ON "dba" AREA "Tbl256IndexArea"
ADD TABLE "med" AREA "Tbl256DataArea"
ADD INDEX "mstrah" ON "med" AREA "Tbl256IndexArea"
ADD INDEX "med" ON "med" AREA "Tbl256IndexArea"
ADD TABLE "pss" AREA "Tbl64DataArea"

Уже второй день голову ломаю. Help!


Ответ на: комментарий от lester

Ок. А чем? tr? Если да, то как?

tr '\nAREA' AREA < in_file >out_file =>дает одну строку.

fashka
() автор топика

cat strings.txt | awk '$1 == "ADD" {getline b; print $0,b}'

sdio ★★★★★
()

По мотивам http://ant0.ru/sed1line.html

sed -e :l -e '$!N;s/\nAREA / AREA /;tl' -e 'P;D'

причем заменяет именно "\nAREA" не важно, есть ли ADD в предыдущей строке.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.