Hi.
You can use a perl work-alike, for example, wgrep, a windowing-grep. It is not a "call-alike" because the options are somewhat different. Here's a sample run on AIX 5.1:
#!/usr/bin/env bash
# @(#) s2 Demonstrate grep-like perl code "wgrep".
# See: http://sysunconfig.net/unixtips/wgrep.txt
# See also "ack": http://betterthangrep.com/
# Infrastructure details, environment, commands for forum posts.
# Uncomment the export to run script as external user.
# export PATH="/usr/local/bin:/usr/bin:/bin"
set +o nounset
pe() { for i;do printf "%s" "$i";done; printf "%s\n"; }
LC_ALL=C ; LANG=C ; export LC_ALL LANG
pe ; pe "Environment: LC_ALL = $LC_ALL, LANG = $LANG"
pe "(Versions displayed with local utility \"version\")"
c=$( ps | grep "^ $$" | awk '{print $4}' )
version >/dev/null 2>&1 && s=$(_eat $0 $1) || s=""
[ "$c" = "$s" ] && p="$s" || p="$c"
version >/dev/null 2>&1 && version "=o" $p perl ./wgrep
set -o nounset
pe
FILE=${1-data1}
# Display data file:"
cat $FILE
pe
pe " Expected results:"
cat expected-output.txt
pe
pe " Results:"
# ./ack -B 2 -A 1 corge $FILE |
./wgrep -w2:1 -m corge $FILE |
tee t1
# Check results.
pe
pe " Comparison with desired results:"
if cmp expected-output.txt t1
then
pe " Passed -- files are same."
else
pe " Failed -- files differ -- details:"
diff expected-output.txt t1
fi
exit 0
producing:
$ ./s2
Environment: LC_ALL = C, LANG = C
(Versions displayed with local utility "version")
OS, ker|rel, machine: AIX, 1, 000641284C00
GNU bash 3.00.16
perl 5.6.0
./wgrep wgrep 1.1
foo
bar
baz
qux
quux
corge
grault
garble
warg
fred
plugh
xyzzy
thud
Expected results:
qux
quux
corge
grault
Results:
qux
quux
corge
grault
Comparison with desired results:
Passed -- files are same.
So you could place wgrep in a directory in your PATH, say ~/bin, and use it directly.
There is a even better work-alike, "ack", that has many of the same options as GNU grep. That is also in perl, and it ran correctly in Linux, hp-ux, and Solaris. Regrettably, it did not run on the AIX 5.1 that I use -- but perhaps it would run on yours.
The URLs in the script comments point to the sites where you can get the code.
If you do not have or know how to create a ~/bin and place it into your PATH, please do some research -- that is a far more general question, but not difficult once one understands the principles involved.
Best wishes ... cheers, drl