Date: Tue, 15 Aug 2017 23:28:50 -0700 From: "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.com> To: KIRIYAMA Kazuhiko <kiri@kx.openedu.org> Cc: freebsd-current@freebsd.org Subject: Re: BSD awk bug ? Message-ID: <01859567-67AA-4706-BB90-84AF8E0C6208@gmail.com> In-Reply-To: <201708160315.v7G3FlAV081765@kx.openedu.org> References: <201708160114.v7G1EkxS079546@kx.openedu.org> <20170816013634.GA8152@tomoyat1.com> <201708160315.v7G3FlAV081765@kx.openedu.org>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
> On Aug 15, 2017, at 20:15, KIRIYAMA Kazuhiko <kiri@kx.openedu.org> wrote:
>
> 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 ?
>>
>> 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.
Hello Kiriyama-san,
I asked this same question a while back and was told that the {n} form didn’t work with nawk. I’ll have to dig up the exact post if it’s somewhere public.
Cheers,
-Ngie
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org
iQIcBAEBCgAGBQJZk+YiAAoJEPWDqSZpMIYVU14P/0nDFQM3l1iLXHR+ezDBNbVg
mIxRAl7a2lgSeZLr+pt7GENf7M9WJMxZ7ErV7wtk6J6BhAUvKQMwdBGVzvCP1g9I
FKxM4onLvxuVTY/pO93jhZrHLPn+VslD3vQTRuPKae6jELeK4HE6srmKHfrmhMeV
9EPent0o49Bgy+OWTOT0L2xaDdcCtQSfggYa/zCkMYcq9gvTaeYt0ZOd0pTsjmTt
ht5t7BfPBu2wAnijVfmn4BEiycuk0tsWCOaPrtsoLcoO4nAUOayF6hgqrzVkYMdO
Rl4H9OvZYF4cOBFDA0/Y56rgCKwwgzhyBTYoZbBoRrx4R029PeostM1cosWwewEg
PjNA2RHc5ICWZIqFgJZlSiBzrk/W7Nk12MAOxmQQzgpBe2ceNwKBIlk19BQDY9Rs
M+2WJMl0LA0tVK7koap++bTFRNxzN+433GwejPHc4/CRj+g1zMC3YzIVYfi3RXTP
YXyXyLXXRM6a/F2bPkwpto1t4MmyTsOFomiVnh0F/eT7zLo223q9Yl579H5mjG6t
DwppEaCFgNQ+nT2AitBY7KFCU1VRgWlZ3kncWqHRPT02MKShuKf/9UYed9qGeSqZ
uJ+MShppBP9BDC4UatAMu6+4VuY6xp7ekn3PpunFELKvH1l8XXP0+N2HbUw7bR3/
q5wHXDm2Ik/DokXXKvNY
=Z11A
-----END PGP SIGNATURE-----
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?01859567-67AA-4706-BB90-84AF8E0C6208>
