У меня есть текстовые файлы, созданные одним из моих инструментов со структурой, показанной ниже.Обработка и удаление текста
1 line text
(space)
multiple
lines
text
(space)
multiple
lines
text
nr 2
---------------------------------------------------------- (58 '-' characters)
different 1 line text
(space)
different
multiple
lines
text
(space)
different
multiple
lines
text
nr 2
----------------------------------------------------------
different 1 line text
(space)
different
multiple
lines
text
(space)
different
multiple
lines
text
nr 2
----------------------------------------------------------
(space)
Каждый файл начинается с 1 строкового текста и заканчивается разделителем знаков «-» и пространством. В каждом файле разное количество разделов, и каждый раздел, «посередине», начинается и заканчивается знаками «-». Ниже я хотел бы достичь.
multiple
lines
text
(space)
different
multiple
lines
text
(space)
different
multiple
lines
text
Я хотел бы, чтобы удалить все лайнеры, все 58 «-» символы разделителей и все «второй» несколько вкладышей и имеют только «первые» несколько гильз от каждой секции один под другим разделены пробелами. Может кто-нибудь порекомендовать, как это сделать на Linux? Любые предложения помогут.
Кто голосовал, чтобы закрыть как принадлежит SU? Это хорошо установленный прецедент здесь, что sed - язык программирования, но примитивный. В любом случае на этот вопрос лучше всего ответить с помощью awk/perl-решения. – paxdiablo
Имеет ли «(пробел») пробел, символ новой строки, пробел (пробел, символ новой строки, табуляция) или кратность одного или нескольких из них? –
Кроме того, в вашем примере с желаемыми результатами следует не включать строки, которые говорят «nr 2», чтобы они соответствовали «имеют только« второе »несколько лайнеров из каждой секции»? –