Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Aug 2017 10:14:46 +0900
From:      KIRIYAMA Kazuhiko <kiri@kx.openedu.org>
To:        freebsd-current Current <freebsd-current@freebsd.org>
Subject:   BSD awk bug ?
Message-ID:  <201708160114.v7G1EkxS079546@kx.openedu.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708160114.v7G1EkxS079546>