Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » UNIX » UNIX Shell: sh, bash, zsh; Coreutils и ко.; sed, awk, perl;

Модерирует : ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Alukardd



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
#!/usr/local/bin/gawk -f
BEGIN {
    w1[""]=w2[""]=w3[""]=""
}
{
  while ($1 == month)
  {
    switch (NF-1)
    {    
      case 1: w1[++i]=$0; break
      case 2: w2[++j]=$0; break
      case 3: w3[++k]=$0; break
    }    
    if (getline == 0)
      break
    if ($0 == "")  
      next
  }
  print "*"toupper(month)"*"
  month=$1
  srand()
  if (length(w1))
    print w1[int(1+rand()*i)]
  if (length(w2))
    print w2[int(1+rand()*j)]
  if (length(w3))
    print w3[int(1+rand()*k)]
  delete w1
  delete w2
  delete w3
  i=j=k=0
  switch (NF-1)
  {
    case 1: w1[++i]=$0; break
    case 2: w2[++j]=$0; break
    case 3: w3[++k]=$0; break
  }
}

Всего записей: 6563 | Зарегистр. 28-08-2008 | Отправлено: 13:19 10-01-2013 | Исправлено: Alukardd, 13:22 10-01-2013
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Операционные системы » UNIX » UNIX Shell: sh, bash, zsh; Coreutils и ко.; sed, awk, perl;


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru