Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: разбор файла средствами bash  (Прочитано 1060 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ne_gosu

  • Автор темы
  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
разбор файла средствами bash
« : 23 Май 2013, 19:27:10 »
Разобрать файл средствами BASH: “достать” оттуда необходимую информацию. Дан файл db.txt, он содержит некоторое число строк вида:
ss <дата> - начало сессии
e <фио> <предмет> <оценка> <экзаменатор - только фамилия> <дата: день-месяц-год> <аудитория> - факт сдачи студентом ФИО предмета
x <фио> - приказ на отчисление студента по ФИО
xa - отчислить всех имеющих незакрытые двойки на данный момент.
se <дата> - конец сессии
# строка-комментарий, всё что дальше - игнорируется
Условия: в данной задаче “все что не запрещено - разрешено”, однако данные корректны синтаксически и даты в журнале неубывают. Так например, отчисления после 3 двоек не происходит. Ваша задача по этому журналу ответить на запросы (параметры командной строки скрипта):
1) Все экзамены происходившие в заданный день. это задание я сделал вот так: grep "^e.*\b$1" db.txt вроде бы работает.
Есть проблемы со вторым заданием: в качестве параметров принимает дату и фио, должен выдавать информацию по данному студенту в последнюю сессию, но до указанной даты. должно быть что-то похожее на то, что было в первом, но никак не могу сообразить как делать. Может кто поможет?
Пример файла db.txt:
ss 01.01.12
e Ivanov Ivan Ivanovich physics 2 Medvedev 02.01.12 1206
e Petrov Petr Petrovich physics 3 Medvedev 02.01.12 1206
e Ivanov Ivan Ivanovich algebra 2 Andrejev 03.01.12 1208
e Petrov Petr Petrovich algebra 5 Andrejev 03.01.12 1208
se 01.10.12
ss 02.12.12
e Ivanov Ivan Ivanovich mathan 5 Ivanova 02.12.12 1306
e Petrov Petr Petrovich mathan 3 Ivanova 02.12.12 1306
e Ivanov Ivan Ivanovich english 2 Sidorov 10.12.12 1566
e Petrov Petr Petrovich english 4 Sidorov 10.12.12 1566
se 20.12.12

Оффлайн rayanAyar

  • Старожил
  • *
  • Сообщений: 1027
  • Да пребудет с вами совпавшая контрольная сумма
    • Просмотр профиля
Re: разбор файла средствами bash
« Ответ #1 : 23 Май 2013, 19:47:10 »
(Нажмите, чтобы показать/скрыть)

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Re: разбор файла средствами bash
« Ответ #2 : 23 Май 2013, 20:10:06 »
например так:
grep '^e Petrov ' db.txt | sed -n '/ 10.12.12 /{g;1!p};h'

Оффлайн poseydon_2003

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: разбор файла средствами bash
« Ответ #3 : 25 Июнь 2013, 16:47:51 »
rayanAyar,
(Нажмите, чтобы показать/скрыть)

 

Страница сгенерирована за 0.123 секунд. Запросов: 24.