Top.Mail.Ru
? ?
AWK forever
 
[Most Recent Entries] [Calendar View] [Friends]

Below are the 20 most recent journal entries recorded in AWK forever's LiveJournal:

Thursday, September 8th, 2011
1:06 am
[cottidianus]
Image
awk 101
Друг попросил на пальцах показать, что такое awk и с чем его едят. Получилось такое:

awk 101Collapse )
Thursday, December 30th, 2010
12:07 pm
[shestero]
Image
разделить поле на AWK
Одно из полей исходных данных содержит заключённый в кавычки путь к фалу.
Нужно отделить директорию от имени файла.
Т.е. разбить по "/" и отделить последнее "подполе" от остальной части поля.
Заодно убрать кавычки.
Как это сделать на AWK?

Current Mood: busy
Monday, July 26th, 2010
7:02 pm
[caban1]
Image
Самый часто встречающийся IP
 Народ есть лог где первый столбец это айпи адреса, вопрос можно ли средставами awk, определить какой IP-адрес чаще всего встречается в логе?
Thursday, July 23rd, 2009
2:36 pm
[sr_v]
Image
Суммирование поля
Народ, всем привет!
Есть у меня вопрос: есть файл (реестр платежных поручений) в котором все поля разделены символом - `;'.
Необходимо разобрать этот файл по полям, и проссумировать каждое 6-е поле, чтобы в итоге назвать общую сумму реестра.
Разбор-то я сделал, а вот с суммированием никак не могу справится :(
вот код:

{
  if(/^#/){print $1,"-HEADER"}
  else{
  for(i=1;i<=NF-1;i++)
   if(i<=25){print("str:",NR-6,"fld:",i,"-",$i)}
   if(i=25){print("str:",NR-6,"fld:",i,"-",$i,"\n")}
  }
}


Заранее спасибо!
UPD:
Вопрос решен. Решение ниже...
#Утилита для разбора реестра платежных поручений v.1.0.4
#Запускается при помощи batch-файла reestr.cmd
{
  if(/^#/){print $1,"-HEADER"}
  else{
  num_fld=NF-1
  #str_cnt=1
  for(i=1;i<=num_fld;i++)
#Пробегаем по всем найденным полям
   if(i<=num_fld){
     if(i!=6){ #Если номер поля не равен 6 
       if(i!=7){ #а так же 7, просто выводим эту строку
         print("str:",NR-6,"fld:",i,"-",$i)

       }else{#если же поле равно 7 - это сумма НДС в ПП, делаем об этом пометку и запихиваем элемент в массив
         print("str:",NR-6,"fld:",i,"-",$i,"- Сумма НДС")
         sum_nds[$i]=$i
       }

     }else{#если же поле равно 6 - это сумма в ПП, делаем об этом пометку и запихиваем элемент в массив
       print("str:",NR-6,"fld:",i,"-",$i,"- Сумма ПП")
       sum_pp[$i]=$i
     }
      
   }
  #print("\n")
  if($1="0D 0A" || $1="0D" || $1="0A"){
    print("Возврат каретки")
  } 
  }
}
END{
  for(x in sum_pp) #Суммируем все элементы массива с суммами ПП
    sum_total=sum_pp[x]+sum_total

  for(y in sum_nds) #Суммируем все элементы массива с суммами НДС ПП
    sum_nds_total=sum_nds[y]+sum_nds_total
#Печатаем результат
  print("--------------------------------------------------------------------------------")
  print("Общее количество платежных поручений в реестре:\t\t",NR-6)
  print("Общая сумма всех платежных поручений в реестре:\t\t",sum_total)
  print("Общая сумма НДС всех платежных поручений в реестре:\t",sum_nds_total)
}
Monday, March 31st, 2008
3:34 pm
[ltwood]
Image
Краткое описание языка
Обновил свое старое описание языка awk и разместил его на сайте, обновил ссылку в профиле сообщества (старая ссылка давно не работала):

http://ltwood.wikidot.com/scripting:awk
Wednesday, March 19th, 2008
6:40 pm
[antko]
Image
кавычки, апострофы... HELP
День добрый!
Подскажите плиз, надо получить некую строку текста, заключенную в апостроф ('). Ессно, awk ругается... Делаю так (адаптировано, лишнее убрано):
awk '{print "xxx=""`"$3"`"""};' < aaa.aaa

при использовании [b]`[/b] получаю строку xxx=`нечто_подставленное_из_$3`. А надо чтобы вместо [b]`[/b] было [b]'[/b]...

Можно как-нить ввести в программу символ [b]'[/b] и как это сделать?
Tuesday, August 28th, 2007
8:30 pm
[bukinr]
программист bash
В компанию "Rambler" в отдел поисковых систем требуется программист bash для автоматизации, усовершенствования и мониторинга технологических процессов построения поискового индекса

Основные требования:
Необходимо: хорошие знания bash, командное окружение ОС UNIX

Желательно:
знания скриптовых языков (Perl,Python,awk), C/C++

Условия:
Зарплата по результатам собеседования. Оформление по ТК, соц.пакет, оплачиваемый отпуск, премии
Офис м. Автозаводская (в 2-х минутах ходьбы, удобный выезд на ТТК)

Контактное лицо: Букин Руслан Михайлович
br@rambler-co.ru
Телефон: 7453619 доб. 3352
Friday, August 17th, 2007
10:14 am
[myloginnameis]
Image
Вакансия: Unix-администратор в отдел хостинга телекоммуникационной компании «Караван»
Требования:

* Высшее техническое образование
* Опыт администрирования ОС на базе Unix (FreeBSD, Linux)
* Опыт администрирования web-серверов Apache, желательно так же nginx; баз данных (MySQL), почтовых серверов (exim)
* Навыки программирования на Perl, PHP , shell
* Знание сетей и распространенных прикладных протоколов (HTTP, FTP, SMTP, IMAP, POP3).

Основные направления работы:

* Инсталляция, настройка и администрирование серверов на базе ОС FreeBSD, Linux
* Осуществление технической поддержки хостинговых клиентов

Условия работы:

* Заработная плата по итогам собеседования
* Премии
* Домашний доступ в интернет
* Компенсация расходов на мобильную связь
* Компенсация расходов на транспорт
* Оплата питания
* Корпоративное обучение
* Возможность карьерного роста
* Соблюдение норм ТК РФ
* Офис в центре Москвы (м. Кропоткинская)


http://caravan.ru/
mailto:job @ caravan.ru
Телефон: (495) 363-22-52
г. Москва, 2-й Обыденский пер., д. 12а.
Wednesday, July 12th, 2006
2:53 am
[mawolf]
Image
Работа:требуется человек со хорошим знанием php для поддержки двух систем, одна типа запароленного документообота(движок стандартный)-уже написана, но будет постоянно требовать дописания новых функций
вторая административная система-заведение пользователей, отключение удаления их же, создание почтовых ящиков все дела-тоже уже написана, требует доведения до ума.
А так же для сотрудничества с программистом, когда на сервер необходимо будет прикрутить паролирование, поиск, рассылку и тд. Программист пишет свою часть в локальной версии программы - вы привинчиваете. Главное согласованность и чтобы все работало.
работа аутсорс, но постоянная 500-800$.
Место Москва.
за подробностями e-mail: mawolf@m-t.su
телефон 89262651475
далее будете переадресованы в офис
условия взятия на работу:
личное собеседование(в том числе с программистом локальной версии)
доказательство квалификации, после ознакомления с системами
постоянная доступность в сети и оперативность при выполнении работ в случае сбоев систем, необходимости дописания новых функций и тд

желательно писать именно на почту, так ваши резюме проще переадресовывать и рассматривать(а вас проще запомнить)
заодно докажете что имеете постоянный доступ в интернет:)
Tuesday, December 27th, 2005
8:27 pm
[w_tiger]
Image
XML & AWK
Господа!
А слышал ли кто-нибудь что-нибудь о расширении gawk для XML?
Tuesday, November 29th, 2005
12:03 pm
[yoshke]
Image
Двойные записи
Такая задача появилась - определить одинаковые записи в фале.
Видится так: делается цикл по строкам в файле, где текущая строка сравнивается с остальными строками, которые перебираются во вложенном цикле.

А может в AWK это сделать проще?
Thursday, July 28th, 2005
6:28 pm
[yoshke]
Image
Задача: в редакторе vi есть полезная комбинация клавиш Shift+J для соединения двух строк.

Хотел написать такую же функцию в AWK, что бы каждая строка соединялась с предыдущей (например, четная с нечетной).

Идея была такая (псевдо-код):
{for ( j = $NR; j = 1; j-- )
  if ($j % 2 = 0 ); then
    chet = $j
  else
    nechet = $j
    concat = $chet + $nechet
}      

{print $concat
}


Увы :(
Если есть идеи, поделитесь, плиз.
Thursday, July 7th, 2005
9:00 am
[xsaper]
Image
Упростить такой вот скрипт
Написал маленький скриптик, хочется теперь упростить серединку, то есть полностью разбор tcp/udp/icmp перенести на плечи awk, два вопроса:
1. Возможно ли?
2. Укажите направление, где почитать про условные операторы в awk, если таковые имеются?
3. Бонус-вопрос :-) Можно ли не использовать sed, cut и sort тут, а опять таки только awk?

Сам скриптCollapse )
Friday, June 17th, 2005
6:24 pm
[pustota1]
Попарсим бинарник?
gawk вроде хорошо умеет с бинарными файлами обращатся. Проверим.
Имеется файл

файл состоит из: заголовка + тело
заголовок: постоянная часть + изменяемая часть
тело: поток данных.


Вся надега на FIELDWIDTH, конечно.
Заковыка в том что поля во всех частях разнятся.
Вопрос: Как изменять FIELDWIDTH по мере продвижения по файлу,
вроде NR всегда равно 1 безо всяких там \n. Есть идеи?
1:49 am
[posix]
Image
Переменное количество NF
Есть файл, в котором каждая строка содержит разное количество полей.
Сколько полей (переменная NF) в каждой строке неизвестно (файл создается "на лету"), но при этом известно, что в каждой строе не может быть менее 3 полей.

Например:

a1 a2 a3
b1 b2 b3 b4 b5 b6 b7 b8 b9
c1 c2 c3 c4 c5 c6
d1 d2 d3 d4
e1 e2 e3

Решение мне представляется в таком виде:
print $1, $2, $3, RESULT
где RESULT содержит все поля с $4 до NF

Вопрос, как получить RESULT?
Спасибо.
Wednesday, September 22nd, 2004
5:36 pm
[ltwood]
Image
Просьба
Такая вот маленькая просьба. Поскольку в ru_programming сообщение о создании этого сообщества не поместили, прошу всех тех участников, кто хочет/может, разместить соответствующее сообщение в каком-нибудь подобающем месте (журнале/собществе). А то помрет оно и не родившись толком...
12:28 pm
[yoshke]
Image
Line numbers
Понадобилось пронумеровать строки с SQL кодом в файле.

Файл представляет собой
1. Шапку с комментами
2. SQL код
3. Пример с выводом результатов SQL запроса (значения в таблице)
awk '{ print NR, $0 }' foo > foo.copy

не годится, т.к. нужно исключить

а) строки с комментариями и
б) строки с выводом значений таблицы.


Есть какие-нибудь идеи?
Tuesday, August 17th, 2004
1:35 am
[alexis_m]
Image
Произношение
М-м... а почему название awk произносится как "оук" (oak)?
Вроде как буквосочетание aw дает звук типа "о" (не знаю, как символы транскрипции написать, в общем, гласный звук, как в слове ball). Или у этого слова другое происхождение?
Monday, August 16th, 2004
6:52 pm
[yoshke]
Image
Еще одно
руководство по awk, интересное тем, что оно очень короткое.
Ну и еще тем, что статья опубликована на официальном сайте Oracle,
что позволяет считать его правильной корпорацией :))

http://www.oracle.com/technology/pub/articles/dulaney_awk.html
Saturday, August 14th, 2004
9:34 pm
[ltwood]
Image
Интересно, а надо ли оно?
Сегодня я создал это комьюнити. После недели тяжких раздумий на тему 'Кто виноват?' 'Что делать?' и 'Почему я?'...

Кстати, в этом году языку AWK исполняется 27 лет.
Язык программирования AWK   About LiveJournal.com
Image