The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Awk. Сортировка данных из блоков"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Разное)
Изначальное сообщение [ Отслеживать ]

"Awk. Сортировка данных из блоков"  +/
Сообщение от furiyademo email(ok) on 30-Апр-13, 12:36 
Здравствуйте.

Появилась следующая проблема: даны данные, имеющие следующий вид:

101 0 1 1
30650 1 1 1 2
2 30652 1 0 40
0 2
0

101 0 1 2
30652 1 2 2 2
255 30907 1 0 3763
1 0
5
1 0
12 14 15

101 0 1 3
30907 2 2 2 1
2 30909 1 0 40
0 2
0

необходимо из них вывести первое поле третей строку второго блока (таких блоков в файле около 10000) и получается вывод должен содержать столбец значений данного поля.
Кто-нибудь сталкивался с подобными задачами и их решением на awk?
Мне интересно, можно ли awk-ом вывести каждый третий блок, начиная со 2ого и из него уже вывести нужную строку и поле? Был бы очень признателен за помощь в виде какого-нибудь мануала, где это описано (я, к сожалению, такого не нашел). В awk хорошо описано как разделять поля внутри строки, но ни одного упомянания о том, можно ли файл делить на блоки с разделителем в виде пустой строки.
Понимаю, что есть простое решение типа "вывести N-ое поле каждой N-ой строки", но хотелось бы поэлегантней :)
Заранее спасибо за помощь.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Awk. Сортировка данных из блоков"  +/
Сообщение от Andrey Mitrofanov on 30-Апр-13, 15:57 
> необходимо из них вывести первое поле третей строку второго блока

Не распарсил. "Каждого" второго?

|awk -v RS=\\n\\n -F \\n '{print$3}'|awk '{print$1}'
|awk -v RS=\\n\\n -F \\n 'NR%2==0{print$3}'|awk '{print$1}'

> Кто-нибудь сталкивался с подобными задачами и их решением на awk?

Студенты хитрых преподов.

> Мне интересно, можно ли awk-ом вывести каждый третий блок, начиная со 2ого
> и из него уже вывести нужную строку и поле? Был бы

Учись лучше! Может, мог заработает.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Awk. Сортировка данных из блоков"  +/
Сообщение от Andrey Mitrofanov on 30-Апр-13, 15:59 
> Появилась следующая проблема:
> но хотелось бы поэлегантней :)

Кстати, комплименты зала за такое новое использование слова "Сортировка".

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру