LINUX.ORG.RU

Помогите с регулярным выражением


0

0

Привет всем!

Есть текстовый файл следующего содержания:

TOPIC
ContentContentContentContentContentContentContentContent
ContentContentContentContentContentContentContentContent
ContentContentContentContentContentContentContentContent

TOPIC
ContentContentContentContentContentContentContentContent
ContentContentContentContentContentContentContentContent
ContentContentContentContentContentContentContentContent

Нужно в цыкле с помощью регулярного выражения выдернуть отдельно TOPIC
и отдельно Content

Спасибо.

anonymous

цЫкл, цЫркуль, цЫрк

ttnl ★★★★★
()

ты хоть объясни, чем отличается TOPIC от Content. Я пока вижу что Topic это первая строка абзацев, а абзацы отделены пустыми строками. Так?

Что значит выдернуть отдельно? Левую ногу налево, правую направо?

dilmah ★★★★★
()
Ответ на: комментарий от dilmah

Форматирование не много съехало.

Topic и Content отличаеться только тем что Content начинаеться с отступа в 1 пробел.

Отдельно значит, что пройдя по циклу все Topic нужно занести в один массив, а Content в другой массив.

anonymous
()
Ответ на: комментарий от philip

Спасибо! Но интересует именно способо решения с использованием регулярного выражения.

anonymous
()
Ответ на: комментарий от anonymous

$ cat xxx
abc
def
xxx
yyy
zzz
qqq
$ awk '/^ / {print $0 >>"arr1" ; next} {print $0 >>"arr2"}' xxx
$ cat arr1
abc
def
yyy
qqq
$ cat arr2
xxx
zzz

awk сойдет ? :-)

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