The OpenNET Project / Index page

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

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

"awk; изменение форматирования и добавление"  
Сообщение от gremlin19 email(ok) on 14-Май-07, 00:01 
Здравствуйте, задача кому-то покажется простой, однако ж не могу сообразить как сотворить такое:

10|Luna|Гость|32|14|8.072|3|2.285|0
11|Oleg|Гость|31|13|5.964|2|2.384|0
12|Gremlin19|Гость|19|7|7.382|3|2.714|0

из

[n0FraG];14;7.359;6;19.567876;23/09/2002;14;
Angel_Sexa;15;17.5;5;3.882353;30/10/2002;15;
BravO;25;10.204;6;8.232066;04/11/2003;25;

Как видно (из второго отрывка) разделители столбцов ";"
Требуется:
заменить ";" на "|"
пронумеровать строки, при этом выровнить столбцы по второму столбцу

в итоге должно получится:
номер | первый солбец | пробел | второй столбец | четвертый | седьмой | пятый | 0 | 0

прочитал про awk и её способности, думаю с её помощью решить задачу можно в два счета, нужно лишь точно понимать как сообщить программе задачу.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

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


1. "awk; изменение форматирования и добавление"  
Сообщение от A on 14-Май-07, 09:03 
>Здравствуйте, задача кому-то покажется простой, однако ж не могу сообразить как сотворить
>такое:
>
>10|Luna|Гость|32|14|8.072|3|2.285|0
>11|Oleg|Гость|31|13|5.964|2|2.384|0
>12|Gremlin19|Гость|19|7|7.382|3|2.714|0
>
>из
>
>[n0FraG];14;7.359;6;19.567876;23/09/2002;14;
>Angel_Sexa;15;17.5;5;3.882353;30/10/2002;15;
>BravO;25;10.204;6;8.232066;04/11/2003;25;
>
>Как видно (из второго отрывка) разделители столбцов ";"
>Требуется:
>заменить ";" на "|"
>пронумеровать строки, при этом выровнить столбцы по второму столбцу
>
>в итоге должно получится:
>номер | первый солбец | пробел | второй столбец | четвертый |
>седьмой | пятый | 0 | 0
>
>прочитал про awk и её способности, думаю с её помощью решить задачу
>можно в два счета, нужно лишь точно понимать как сообщить программе
>задачу.

Может я не все детали уловил, но дальше сами откорректируете :-)

BEGIN { FS=";"}
{ print NR "|" $1 "| |" $2 "|" $4 "|" $7 "|" $5 "|0|0" }

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "awk; изменение форматирования и добавление"  
Сообщение от gremlin19 email(ok) on 20-Май-07, 00:40 
awk 'BEGIN {FS=";"}{print NR "|"$1"||"$2"|"$4"|"$7"|"$5"|0|0"}' исходный_файл > результативный_файл

как подсказка (для себя, но может кому пригодится): в кавычки "" заключается не переменная $4,$1,$2, а значение НЕпеременной "|", "|0|0"

Спасибо, помогло. НО:

хотелось бы ещё выровнить траблицу по значению $2 и только тогда расставить номера по порядку ("NR")

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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