[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
extglob pattern matching does not work as in bash 2
From: |
os |
Subject: |
extglob pattern matching does not work as in bash 2 |
Date: |
Wed, 7 Jan 2009 11:06:12 +0100 |
User-agent: |
Mutt/1.5.9i |
Configuration Information [Automatically generated, do not change]:
Machine: i686
OS: linux-gnu
Compiler: gcc
Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i686'
-DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i686-pc-linux-gnu'
-DCONF_VENDOR='pc' -DLOCALEDIR='/usr/local/share/locale' -DPACKAGE='bash'
-DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib -g -O2
uname output: Linux linux1 2.6.26-bpo.1-686 #1 SMP Thu Dec 18 23:55:11 UTC 2008
i686 GNU/Linux
Machine Type: i686-pc-linux-gnu
Bash Version: 3.2
Patch Level: 48
Release Status: release
Description:
After updating to a new distribution with bash version 3.x entglob does
not work like in bash version 2.x.
We have a script which needs to remove every whitespace before and
after a "," in a variable.
Repeat-By:
GNU bash, version 3.2.48(1)-release (i686-pc-linux-gnu)
# Does not work
$ shopt -s extglob
$ TEST="12345, 12345"
$ echo ${TEST//*([[:space:]]),*([[:space:]])/,}
12345, 12345
$ TEST="12345 , 12345"
$ echo ${TEST//*([[:space:]]),*([[:space:]])/,}
12345 , 12345
echo ${TEST//*([[:space:]]),/,}
12345 , 12345
$ TEST="12345,12345"
$ echo ${TEST//*([[:space:]]),*([[:space:]])/,}
12345,12345
# Works
$ TEST="12345 , 12345"
$ echo ${TEST//,*([[:space:]])/,}
12345 ,12345
GNU bash, version 2.05b.0(1)-release (i386-pc-linux-gnu)
$ shopt -s extglob
$ TEST="12345, 12345"
$ echo ${TEST//*([[:space:]]),*([[:space:]])/,}
12345,12345
$ TEST="12345 , 12345"
$ echo ${TEST//*([[:space:]]),*([[:space:]])/,}
12345,12345
$ TEST="12345,12345"
$ echo ${TEST//*([[:space:]]),*([[:space:]])/,}
12345,12345
- extglob pattern matching does not work as in bash 2,
os <=