Ainda não há respostas decentes? Desde que você disse grep, eu suponho que você saiba como usar um shell;
$ link=http://wizard.ae.krakow.pl/~jb/xls2txt/xls2txt-0.13.tar.gz
$ wget -nv "$link" && \
tar xf 'basename "$link"' && \
cd $(basename "$link" .tar.gz) &&\
make
2013-07-24 URL:(...)/xls2txt-0.13.tar.gz [12419/12419] -> "xls2txt-0.13.tar.gz"
cc -O2 -g -DVERSION=0.13 -c xls2txt.c -o xls2txt.o
cc -O2 -g -c -o ole.o ole.c
cc -O2 -g -c -o cp.o cp.c
cc -O2 -g -c -o ummap.o ummap.c
cc -O2 -g -c -o ieee754.o ieee754.c
cc -lm xls2txt.o ole.o cp.o ummap.o ieee754.o -o xls2txt
$ awkf() { awk -F\t '{ printf "%20s | %-20s\n", $1, $2 }' ; }
$ x2t() { ./xls2txt $1 C4:D5 | awkf > 'basename "$1" .xls'.txt ; }
$ x2t ramesh2.xls ; x2t ramesh.xls
E o relatório:
$ grep MXS1268 ramesh*txt
ramesh.txt: Operator ID | MXS1268
ramesh2.txt: Operator ID | MXS1268