LINUX.ORG.RU

Разбить файла


0

0

есть текстовы файл вида

some text1
some text2
more text
-------------
some text3
more text 
-------------
some more text
more more text

Т. е. части файла разделены между собой строкой '-------------'

Надо эти части как-то по отдельности разбить желательно awk-ом.
Хотел сделать что-то типа cat file | awk -F '-------------' '{print $2}'  - но не работает 

Т. е. более конретно формулируя задачу нужно:
1. Найти число таких частей в файле - пусть будет N
2. Вывести какую-то заданную часть по порядковуму номеру n (1 <= n <= N).
anonymous

awk -v b="output" -v n=1 ' BEGIN {
                                   filename=b.n
                                 }
                           /--------/ {
                                          n=n+1
                                          close filename
                                          filename=b.n
                                          getline
                                       }
                                       {
                                          print > filename
                                       }
                         '
 Писал на ходу, не проверял.

З.Ы. И прочти какое-нибудь руководство, уже второй дурацкий вопрос.

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