In /usr/bin/zipgrep line 28: echo usage: `basename "$0"` "[egrep_options] pattern zipfile [members...]" ^-------------^ SC2046: Quote this to prevent word splitting. ^-------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: echo usage: $(basename "$0") "[egrep_options] pattern zipfile [members...]" In /usr/bin/zipgrep line 36: opt=`echo "$opt" | sed -e 's/ //g' -e 's/-//g'` ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: opt=$(echo "$opt" | sed -e 's/ //g' -e 's/-//g') In /usr/bin/zipgrep line 38: *l*) list=1; opt=`echo $opt | sed s/l//` ^---------------------^ SC2006: Use $(...) notation instead of legacy backticked `...`. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: *l*) list=1; opt=$(echo "$opt" | sed s/l//) In /usr/bin/zipgrep line 52: pat=` echo "$pat" | \ ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: pat=$( echo "$pat" | \ sed -e 's/\\\\/\\\\\\\\/g' -e 's/|/\\\|/g' -e 's/&/\\\&/g' ) In /usr/bin/zipgrep line 57: for i in `unzip -Z1 "$zipfile" ${1+"$@"} | sed -e 's/\\\\/\\\\\\\\/g' `; do ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: for i in $(unzip -Z1 "$zipfile" ${1+"$@"} | sed -e 's/\\\\/\\\\\\\\/g' ); do In /usr/bin/zipgrep line 61: egrep $opt "$pat" > /dev/null && echo "$i" ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: egrep "$opt" "$pat" > /dev/null && echo "$i" In /usr/bin/zipgrep line 67: egrep $opt "$pat" ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: egrep "$opt" "$pat" In /usr/bin/zipgrep line 72: i=` echo "$i" | \ ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. Did you mean: i=$( echo "$i" | \ sed -e 's/\\\\/\\\\\\\\/g' -e 's/|/\\\|/g' -e 's/&/\\\&/g' ) In /usr/bin/zipgrep line 79: status_grep=` ( \ ^-- SC2006: Use $(...) notation instead of legacy backticked `...`. ^---^ SC2196: egrep is non-standard and deprecated. Use grep -E instead. ^--^ SC2086: Double quote to prevent globbing and word splitting. Did you mean: status_grep=$( ( \ ( unzip -p-L "$zipfile" "$i" | \ eg"rep "$opt "$pat" 1>&4 ; echo $? >&3 ) 4>&1 | \ sed "s|^|${i}:|" 1>&4 \ ) 3>&1 ) For more information: https://www.shellcheck.net/wiki/SC2046 -- Quote this to prevent word splitt... https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ... https://www.shellcheck.net/wiki/SC2196 -- egrep is non-standard and depreca...