From owner-freebsd-current@freebsd.org Wed Aug 16 03:15:51 2017 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 018EADE24EB for ; Wed, 16 Aug 2017 03:15:51 +0000 (UTC) (envelope-from kiri@kx.openedu.org) Received: from kx.openedu.org (flets-sg1027.kamome.or.jp [202.216.24.27]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 94C126CC18 for ; Wed, 16 Aug 2017 03:15:49 +0000 (UTC) (envelope-from kiri@kx.openedu.org) Received: from kx.openedu.org (kx.openedu.org [202.216.24.27]) by kx.openedu.org (8.14.5/8.14.5) with ESMTP id v7G3FlAV081765 for ; Wed, 16 Aug 2017 12:15:47 +0900 (JST) (envelope-from kiri@kx.openedu.org) Message-Id: <201708160315.v7G3FlAV081765@kx.openedu.org> Date: Wed, 16 Aug 2017 12:15:47 +0900 From: KIRIYAMA Kazuhiko To: freebsd-current@freebsd.org Subject: Re: BSD awk bug ? In-Reply-To: <20170816013634.GA8152@tomoyat1.com> References: <201708160114.v7G1EkxS079546@kx.openedu.org> <20170816013634.GA8152@tomoyat1.com> User-Agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL/10.6 MULE XEmacs/21.4 (patch 22) (Instant Classic) (amd64--freebsd) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Aug 2017 03:15:51 -0000 At Wed, 16 Aug 2017 10:36:36 +0900, Tomoya Tabuchi wrote: > > On Wed, Aug 16, 2017 at 10:14:46AM +0900, KIRIYAMA Kazuhiko wrote: > > admin@tbedfpc:~/tmp % ll > > total 12 > > -rw-r--r-- 1 admin admin 235 Aug 16 10:01 regex-1.sh > > -rw-r--r-- 1 admin admin 236 Aug 16 10:01 regex-2.sh > > -rw-r--r-- 1 admin admin 260 Aug 16 10:01 regex.sh > > admin@tbedfpc:~/tmp % cat regex.sh > > #!/bin/sh > > > > data='1 2 3 4 5 6 > > 1 2 3 4 5 > > 1 2 3 4 5 6 > > 1 2 3 4 5 6 > > 1 2 3 4 > > 1 2 3' > > > > IFS=$'\n' > > for datum in $data; do > > if echo "$datum" | egrep -q '^([^[:space:]]+[[:space:]]+){5}'; then > > echo "$datum" > > else > > echo "Not 6 components! : \"$datum\"" > > fi > > done > > admin@tbedfpc:~/tmp % sh ./regex.sh > > 1 2 3 4 5 6 > > Not 6 components! : "1 2 3 4 5" > > 1 2 3 4 5 6 > > 1 2 3 4 5 6 > > Not 6 components! : "1 2 3 4" > > Not 6 components! : "1 2 3" > > admin@tbedfpc:~/tmp % cat regex-1.sh > > #!/bin/sh > > > > _f_awk=' > > { > > if ($0 ~ /^([^[:space:]]+[[:space:]]+){5}/) { > > print $0 > > } else { > > print "Not 6 components! : \"" $0 "\"" > > } > > }' > > > > data='1 2 3 4 5 6 > > 1 2 3 4 5 > > 1 2 3 4 5 6 > > 1 2 3 4 5 6 > > 1 2 3 4 > > 1 2 3' > > > > echo "$data" | awk "$_f_awk" > > admin@tbedfpc:~/tmp % sh ./regex-1.sh > > Not 6 components! : "1 2 3 4 5 6" > > Not 6 components! : "1 2 3 4 5" > > Not 6 components! : "1 2 3 4 5 6" > > Not 6 components! : "1 2 3 4 5 6" > > Not 6 components! : "1 2 3 4" > > Not 6 components! : "1 2 3" > > admin@tbedfpc:~/tmp % cat regex-2.sh > > #!/bin/sh > > > > _f_awk=' > > { > > if ($0 ~ /^([^[:space:]]+[[:space:]]+){5}/) { > > print $0 > > } else { > > print "Not 6 components! : \"" $0 "\"" > > } > > }' > > > > data='1 2 3 4 5 6 > > 1 2 3 4 5 > > 1 2 3 4 5 6 > > 1 2 3 4 5 6 > > 1 2 3 4 > > 1 2 3' > > > > echo "$data" | gawk "$_f_awk" > > admin@tbedfpc:~/tmp % sh ./regex-2.sh > > 1 2 3 4 5 6 > > Not 6 components! : "1 2 3 4 5" > > 1 2 3 4 5 6 > > 1 2 3 4 5 6 > > Not 6 components! : "1 2 3 4" > > Not 6 components! : "1 2 3" > > admin@tbedfpc:~/tmp % uname -a > > FreeBSD tbedfpc 12.0-CURRENT FreeBSD 12.0-CURRENT #0 r321597: Thu Jul 27 12:30:57 UTC 2017 root@tbedfc:/usr/obj/usr/src/sys/GENERIC amd64 > > admin@tbedfpc:~/tmp % pkg info -aI|grep gawk > > gawk-4.1.4_1 GNU version of Awk > > admin@tbedfpc:~/tmp % > > > > > > Is this the BSD awk (/usr/bin/awk) bug ? > > > > --- > > KIRIYAMA Kazuhiko > > _______________________________________________ > > freebsd-current@freebsd.org mailing list > > https://lists.freebsd.org/mailman/listinfo/freebsd-current > > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > > Hello Kiriyama-san, > > The man page awk(1) says that {m,n} matcning is not supported. The "{5}" > part matches the literal sequence of characters it's made out of, I suppose. Oops. I missed "STANDARDS" section. Thanks for pointed out. # But as it says in front "awk supports extended regular # expressions (EREs). See re_format(7) for more information # on regular expressions.", I'd like to coinside with # re_format(7) spec. > > Someone please correct me if I'm wrong. > > Regards, > Tomoya > _______________________________________________ > freebsd-current@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org" > --- KIRIYAMA Kazuhiko