Всем низкий поклон..
В интернете решения не нашел, поэтому спрашивею здесь.
Нужен скрипт на perl который будет искать в файле "day=1" и "urok=1". И будет заменять на "понедельник" и "первый урок".т.е по такому алгоритму:
----------------------
day=1 на понедельник
day=2 на вторник
day=3 на среду
day=4 на четверг
day=5 на пятницу
day=6 на субботу
-----------------------
urok=1 на первый урок
urok=2 на второй урок
urok=3 на третий урок
urok=4 на четвертый урок
urok=5 на пятый урок
urok=6 на шестой урок
-----------------------Спасайте пожалуйста!
> Нужен скрипт на perl который будет искать в файле "day=1" и "urok=1".Почему на перле-то? Пуля — дура, препод — молодец?
> Почему на перле-то? Пуля — дура, препод — молодец?На JavaScript я уже сделал.. теперь нужно на perl. С ним всё сложнее.. Вот и спрашиваю у вас.
> На JavaScript я уже сделал.. теперь нужно на perl. С ним всё сложнее..Но _зачем_?? Собеседование что ли, если не препод?
> Вот и спрашиваю у вас.
Да, я-то уже почти сделал, только надо man perl немного почитать.
Но мне интересно -- на кой оно.
> Да, я-то уже почти сделал, только надо man perl немного почитать.
> Но мне интересно -- на кой оно.Да ты прав был :) Меня препод тресёт по чёрному. Там для проэкта нужно, для вытаскивания замен с сайта.
>> Да, я-то уже почти сделал, только надо man perl немного почитать.
>> Но мне интересно -- на кой оно.
> Да ты прав был :) Меня препод тресёт по чёрному. Там для
> проэкта нужно, для вытаскивания замен с сайта.$ dat() {
>[оверквотинг удален]
> day=6 на субботу
> -----------------------
> urok=1 на первый урок
> urok=2 на второй урок
> urok=3 на третий урок
> urok=4 на четвертый урок
> urok=5 на пятый урок
> urok=6 на шестой урок
> SS
> }$ dat |sed -n 's/ на /,/p'|awk -F, '{printf"%ss/%s/%s/g",(x++?";":""),$1,$2}';echo
s/day=1/понедельник/g;s/day=2/вторник/g;s/day=3/среду/g;s/day=4/четверг/g;s/day=5/пятницу/g;s/day=6/субботу/g;s/urok=1/первый урок/g;s/urok=2/второй урок/g;s/urok=3/третий урок/g;s/urok=4/четвертый урок/g;s/urok=5/пятый урок/g;s/urok=6/шестой урок/g
abm@novy:~$ _Не, не буду man perl читать. Наверное, добавить perl -e '', но уже B)) [снова] не интересно.
>[оверквотинг удален]
>> urok=6 на шестой урок
>> SS
>> }
> $ dat |sed -n 's/ на /,/p'|awk -F, '{printf"%ss/%s/%s/g",(x++?";":""),$1,$2}';echo
> s/day=1/понедельник/g;s/day=2/вторник/g;s/day=3/среду/g;s/day=4/четверг/g;s/day=5/пятницу/g;s/day=6/субботу/g;s/urok=1/первый
> урок/g;s/urok=2/второй урок/g;s/urok=3/третий урок/g;s/urok=4/четвертый урок/g;s/urok=5/пятый
> урок/g;s/urok=6/шестой урок/g
> abm@novy:~$ _
> Не, не буду man perl читать. Наверное, добавить perl -e '', но
> уже B)) [снова] не интересно.Да, ладно!
Ну сделал человек на JavaScript. Ну пусть у него ещё на perl будет.
Что нам, жалко что-ли?! ))#!/usr/bin/perl
use strict;
use warnings;my $file = "/path/to/file";
open FH, $file;
while ( <FH> ) {
s/day=1/понедельник/;
s/day=2/вторник/;
s/day=3/среда/;
s/day=4/четверг/;
s/day=5/пятница/;
s/day=6/суббота/;s/urok=1/первый урок/;
s/urok=2/второй урок/;
s/urok=3/третий урок/;
s/urok=4/четвертый урок/;
s/urok=5/пятый урок/;
s/urok=6/шестой урок/;print;
}close FH;
> Да, ладно!
> Ну сделал человек на JavaScript. Ну пусть у него ещё на perl
> будет.
> Что нам, жалко что-ли?! ))
#!/usr/bin/perluse strict;
use warnings;my $file = "/path/to/file";
my @days = qw/понедельник вторник cреда четверг пятница суббота/;
my @nums = qw/первый второй третий четвертый пятый шестой/;open FH, $file;
while ( <FH> ) {
s/day=(\d)/$days[$1-1]/g;
s/urok=(\d)/$nums[$1-1] урок/g;print;
}close FH;
Ы?
> Ы?Уx, типа обошёл на вираже..))
А я тогда сострою километровый однострочник, вот! ))perl -pe 's/day=1/понедельник/;s/day=2/вторник/;s/day=3/среда/;s/day=4/четверг/;s/day=5/пятница/;s/day=6/суббота/;s/urok=1/первый урок/;s/urok=2/второй урок/;s/urok=3/третий урок/;s/urok=4/четвертый урок/;s/urok=5/пятый урок/;s/urok=6/шестой урок/;' /path/to/file