LINUX.ORG.RU
ФорумTalks

SED: Регулярные выражения.


0

0

Пишу лабу по регулярным выражениям.
С sed'ом знакомлюсь.

Крутая вещь, однако.

Все задания выполнил, кроме последнего. Может вы мне подскажите?

Текст задания:
10. Напишите программу на языке редактора sed, которая:
a. вставляет перед первой строкой заголовок TITLE OF FILE.
b. удаляет последнее поле, значение которого кратно 500.
c. меняет местами имя и фамилию.
d. добавляет к концу каждой строки фразу THE END.

a, c и d - без проблем. Но вот как в b определить кратно ли число?
Регулярными выражениями я сохраню это число в переменную, а посчитать как?

PS Обрабатываемый файл имеет такой формат:
William Kopf:846-836-2837:6937 Ware Road, Milton, PA 93756:9/21/46:43500

Re: SED: Регулярные выражения.

Если кратно 500, то должно удовлетворять такому регулярному выражению -
.*[05]00$

geekkoo ()

Re: SED: Регулярные выражения.

слушай, скажи оффтопное -- в каком вузе все это щастье?

(просто у нас до сих пор -- ассемблер, пасквиль, дельфи, шаг вправо, шаг влево...)

anonymous ()
Ответ на: Re: SED: Регулярные выражения. от anonymous

Re: SED: Регулярные выражения.

СПБГУ ИТМО.
Факультет Компьютерных технологий и управления.
Кафедра вычислительной техники.

В этом семестре юниксы (shell на практике), регулярные выражения, сети, ассемблер, проектирование приложений баз данных (в прошлом семестре было проектирование самих баз данных).

Я не жалею что пошел на это направление.

Но до третьего курса была муйня типа экономики, эклологии политологии, паскаля и т.п.

nosync ()
Ответ на: Re: SED: Регулярные выражения. от nosync

Re: SED: Регулярные выражения.

Все, написал.
Текст программы:

1i\TITLE OF FILE
s/:[0-9]*[05]00$/:/
s/^\([a-zA-Z]*\) \([a-zA-Z]*\)/\2 \1/
s/^\(.*\)$/\1 THE END/

Спасибо за помощь.

nosync ()
Ответ на: Re: SED: Регулярные выражения. от nosync

Re: SED: Регулярные выражения.

>Но до третьего курса была муйня типа экономики, эклологии политологии, паскаля и т.п.

Да уж вот это универ, такие задачи - это кошмар какой-то на 4 курсе. Мозг управленцев наверное core dump вываливает каждые 3 минуты. Хыхыхыхы.

У нас на 3 курсе в неделю нужно написать к примеру крестики-нолики в RMI (плюс обязаловка нити, граф интерфейс, javadoc "как у санок"...) На 4 вспомнилась доработка minix FS. Непосредственно в миниксе.

Не знаю чему вас там учат, но кафедра ВЫЧИСЛИТЕЛЬНОЙ техники СПБГУ ИТМО должна отправиться в биореактор полным составом.

anonymousI ()

Re: SED: Регулярные выражения.

Сам вчера мучался пытаясь заменить концы строк на '+' для суммирования столбика чисел - пробовал всё - \n, \\n, \\\n, ... =) После часа гуглениея забил и написал sed a+ | tr -d \\n ;(

AiLr ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.