From e717a14a171c0226921ffed003dedd104bf3cf99 Mon Sep 17 00:00:00 2001 From: Tristan Partin Date: Tue, 12 Dec 2023 10:13:13 -0600 Subject: [PATCH v1 1/6] Replace egrep with grep -E GNU grep has been warning about grep -E since the 3.8 series. Further GNU commentary: > 7th Edition Unix had commands egrep and fgrep that were the counterparts > of the modern grep -E and grep -F. Although breaking up grep into three > programs was perhaps useful on the small computers of the 1970s, egrep > and fgrep were not standardized by POSIX and are no longer needed. In > the current GNU implementation, egrep and fgrep issue a warning and then > act like their modern counterparts; eventually, they are planned to be > removed entirely. Further man page documentation: > This grep has been enhanced in an upwards-compatible way to provide the > exact functionality of the historical egrep and fgrep commands as well. > It was the clear intention of the standard developers to consolidate the > three greps into a single command. --- src/backend/port/aix/mkldexport.sh | 4 ++-- src/tools/find_typedef | 6 +++--- src/tools/perlcheck/find_perl_files | 2 +- src/tools/pginclude/pgrminclude | 6 +++--- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/backend/port/aix/mkldexport.sh b/src/backend/port/aix/mkldexport.sh index adf3793e86..41405eba02 100755 --- a/src/backend/port/aix/mkldexport.sh +++ b/src/backend/port/aix/mkldexport.sh @@ -53,9 +53,9 @@ else fi fi $NM -BCg $1 | \ - egrep ' [TDB] ' | \ + grep -E ' [TDB] ' | \ sed -e 's/.* //' | \ - egrep -v '\$' | \ + grep -E -v '\$' | \ sed -e 's/^[.]//' | \ sort | \ uniq diff --git a/src/tools/find_typedef b/src/tools/find_typedef index 24e9b76651..fec0520c32 100755 --- a/src/tools/find_typedef +++ b/src/tools/find_typedef @@ -36,12 +36,12 @@ do # if objdump -W is recognized, only one line of error should appear if [ `objdump -W 2>&1 | wc -l` -eq 1 ] then # Linux objdump -W "$DIR"/* | - egrep -A3 '\(DW_TAG_typedef\)' | + grep -E -A3 '\(DW_TAG_typedef\)' | awk ' $2 == "DW_AT_name" {print $NF}' elif [ `readelf -w 2>&1 | wc -l` -gt 1 ] then # FreeBSD, similar output to Linux readelf -w "$DIR"/* | - egrep -A3 '\(DW_TAG_typedef\)' | + grep -E -A3 '\(DW_TAG_typedef\)' | awk ' $1 == "DW_AT_name" {print $NF}' fi done | @@ -50,4 +50,4 @@ sort | uniq | # these are used both for typedefs and variable names # so do not include them -egrep -v '^(date|interval|timestamp|ANY)$' +grep -E -v '^(date|interval|timestamp|ANY)$' diff --git a/src/tools/perlcheck/find_perl_files b/src/tools/perlcheck/find_perl_files index 20dceb800d..406ec7f3a0 100644 --- a/src/tools/perlcheck/find_perl_files +++ b/src/tools/perlcheck/find_perl_files @@ -12,7 +12,7 @@ find_perl_files () { find "$@" -type f -name '*.p[lm]' -print # take executable files that file(1) thinks are perl files find "$@" -type f -perm -100 -exec file {} \; -print | - egrep -i ':.*perl[0-9]*\>' | + grep -E -i ':.*perl[0-9]*\>' | cut -d: -f1 } | sort -u | grep -v '^\./\.git/' } diff --git a/src/tools/pginclude/pgrminclude b/src/tools/pginclude/pgrminclude index 7cbd2e7c9c..27c6c5bfb5 100755 --- a/src/tools/pginclude/pgrminclude +++ b/src/tools/pginclude/pgrminclude @@ -64,14 +64,14 @@ compile_file() { [ "$INCLUDE" = "pg_config.h" ] && continue [ "$INCLUDE" = "c.h" ] && continue # Stringify macros will expand undefined identifiers, so skip files that use it - egrep -q '\<(CppAsString2?|CppConcat)\>' "$FILE" && continue + grep -E -q '\<(CppAsString2?|CppConcat)\>' "$FILE" && continue # preserve configure-specific includes # these includes are surrounded by #ifdef's grep -B1 '^#include[ ][ ]*[<"]'"$INCLUDE"'[>"]' "$FILE" | - egrep -q '^#if|^#else|^#elif' && continue + grep -E -q '^#if|^#else|^#elif' && continue grep -A1 '^#include[ ][ ]*[<"]'"$INCLUDE"'[>"]' "$FILE" | - egrep -q '^#else|^#elif|^#endif' && continue + grep -E -q '^#else|^#elif|^#endif' && continue # Remove all #if and #ifdef blocks because the blocks # might contain code that is not compiled on this platform. -- Tristan Partin Neon (https://neon.tech)