|
|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Eugene B. Berdnikov 2:5020/400 14 Apr 2001 16:04:32 To : Stanislav Latishko Subject : Re: Посоветуйте 2 програмки ... -------------------------------------------------------------------------------- Stanislav Latishko <sl@sl.spb.su> wrote: SL> Sat, 14 Apr 01 01:58:14 +0400 Eugeny A. Krestnikoff (EA K) писАл[а] : SL> EAK>> sed EAK>> awk ;-) SL> SL> Эх, не перевелись на Руси любители быстро отвечать :) Попробуй. SL> Задача: написать на sed/awk программу, осуществляющую замену val1 : SL> val1=<expr>; на SetVal1(<expr>); - когда val1 в левой части присваивания; SL> GetVal1() - во всех остальных местах. SL> (Уточнения: не задеть переменных oldval1 и newval1; val1 может быть в 1-й SL> позиции; может быть в выражениии (val1==<expr>), val1+=<expr>, ... ) SL> Задача считается решенной когда sed/awk перестает ругаться на синтаксис, SL> и действительно работает так как хочется :) Приступив к решению, засесчь SL> время; затраченное время опубликовать. Задача2: все то же, но <expr> SL> может быть многострочным и включать комментарии :) Hа перле написание выражения s/\bval1\s*=\s*([^\s=;][^;]*);/SetVal1($1);/go заняло у меня 5 минут, из которых 3 ушли на поиски в man perlre символа "\b", а еще минута - на отладку (набирая строчку, пропустил скобку). А вот с тем, что sed/awk - сакс, я полностью согласен. :-) -- Eugene Berdnikov --- ifmail v.2.15dev5 * Origin: Institute for High Energy Physics, Protvino, Russia (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/5353f8f88faa.html, оценка из 5, голосов 10
|