Author: Dan Theisen <djt@hxx.in> Date: Wed Jun 06 03:30:25 2018 -0800 The following lines have a subtle change around [:blank:], changing it to [[:blank:]] instead. This is required because POSIX treats characters inside of brackets as a group of characters to match against. In this case, [[:space:]] means [] group of characters, and [:space:] is the group, as per: IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008), Chapter 9 http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html --- tcsh-6.20.00/tests/lexical.at.old 2018-06-06 02:20:16.787145186 -0700 +++ tcsh-6.20.00/tests/lexical.at 2018-06-06 02:21:09.537890842 -0700 @@ -567,10 +567,10 @@ ]]) AT_DATA([uniformity_test.csh], [[ -set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'` +set SERVICE_NAME_LOG = `cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g'` echo -n "$SERVICE_NAME_LOG" > ./output1 -cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2 +cat batchsystem.properties | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\s//g' | perl -pe 's/\)/\\\)/g' | perl -pe 's/\(/\\\(/g' > ./output2 diff -uprN ./output1 ./output2 >& /dev/null @@ -587,7 +587,7 @@ echo "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP\)(HOST=db\)(PORT=1521\)\)(CONNECT_DATA=(SERVER=DEDICATED\)(SERVICE_NAME=bns03\)\)\)" > ./expected_result set string = "jdbc_url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=bns03)))" -set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[:blank:]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'` +set SERVICE_NAME_LOG = `echo "$string" | grep '^jdbc_url' | sed -ne 's/^[^=]*=[^@]*@[[:blank:]]*\([^$]*\)$/\1/p' | perl -pe 's/\)/\\\)/g'` echo "$SERVICE_NAME_LOG" > ./actual_result