[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
sub() function do'nt alter string length in awk 3.1.5
From: |
Frantisek Hanzlik |
Subject: |
sub() function do'nt alter string length in awk 3.1.5 |
Date: |
Sun, 28 May 2006 11:20:58 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a1) Gecko/20060330 SeaMonkey/1.5a |
Hello,
I not know when it is my mistake or gawk bug - in simple example below
I delete some chars from string variable, and after this string is
modified, but its length is unchanged.
awk 'BEGIN{A="1234567890abcdef";
for (i=1;i<6;i++){print length(A),"A=" A ".";sub("....","",A)}
}'
16 A=1234567890abcdef.
16 A=567890abcdef.
16 A=90abcdef.
16 A=cdef.
16 A=.
When I use gensub() instead of sub(), result is as I expected:
awk 'BEGIN{A="1234567890abcdef";
for (i=1;i<6;i++){print length(A),"A=" A ".";A=gensub("....","",1,A)}
}'
16 A=1234567890abcdef.
12 A=567890abcdef.
8 A=90abcdef.
4 A=cdef.
0 A=.
OS/GAWK versions:
- GNU/Linux kernel 2.6.16-1.2122_FC5 #1 i686, Fedora Core 5 distro
- glibc-2.4-8
- GNU Awk 3.1.5
Yours sincerely
Frantisek Hanzlík
== Lucní 502 Linux/Unix, Novell, Internet Tel: +420-373729699 ==
== 33209 Stenovice e-mail:address@hidden Fax: +420-373729699 ==
== Czech Republic http://hanzlici.cz/ GSM: +420-604117319 ==
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- sub() function do'nt alter string length in awk 3.1.5,
Frantisek Hanzlik <=