From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <416A997A.60202@altlinux.ru> Date: Mon, 11 Oct 2004 18:32:26 +0400 From: Alexey Gladkov Organization: ALT Linux User-Agent: Mozilla Thunderbird 0.6 (X11/20040511) X-Accept-Language: en-us, en MIME-Version: 1.0 To: ALT Linux Sisyphus discussion list Subject: Re: [sisyphus] awk bug? References: <200410082303.44473.peet@altlinux.ru> In-Reply-To: <200410082303.44473.peet@altlinux.ru> X-Enigmail-Version: 0.84.0.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Linux Sisyphus discussion list List-Id: ALT Linux Sisyphus discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Oct 2004 14:33:01 -0000 Archived-At: List-Archive: Peter V. Saveliev wrote: > ... > > Пример странного поведения awk: > > [peet@acer rt-network]$ echo "interface ethernet 0" | awk '{gsub(/ethernet[[:blank:]]+([0-9]+)/,"eth\1"); print $0}' > interface eth > [peet@acer rt-network]$ echo "interface ethernet 0" | awk '{gsub(/ethernet[[:blank:]]+([0-9]+)/,"eth\\1"); print $0}' > interface eth\1 > [peet@acer rt-network]$ echo "interface ethernet 0" | awk '{print gensub(/ethernet[[:blank:]]+([0-9]+)/,"eth\1","g")}' > interface eth > [peet@acer rt-network]$ echo "interface ethernet 0" | awk '{print gensub(/ethernet[[:blank:]]+([0-9]+)/,"eth\\1","g")}' > interface eth0 > А что не нравиться в приведенном выводе ? все правильно. > Кто что может сказать на эту тему? Или "очередное злодейство в виде расширения gnu" > отключили, мол, ну никак не должен awk оперировать бэкреференсами в gsub? ;) > gsub не умел пользоваться \n . Функция gensub - это gnu'шное расширение и оно нормально работает. Так что никто ничего не выключал. > Вешать багу? Или само срастётся? В 'man awk' все четко описано по этому поводу. Так что этот баг не в gawk. -- Rgrds, legion