Parece que você está tentando reimplantar o grep .
Em vez de sed , use:
grep -n -- "$var" file
Se var contiver metacaracteres de expressão regular que você deseja corresponder literalmente, forneça a opção -F para grep :
grep -nF -- "$var" file
onde var contém seu padrão desejado.
Na página grep(1) man:
-n, --line-number
Prefix each line of output with the 1-based line number within its input file. (-n is specified by POSIX.)
Se você insistir em usar sed , poderá fazer uma função para essa finalidade:
notgrep (){
if [ $# -ne 2 ];then
echo "Usage: notgrep <pattern> <file>"
exit 1
end
sed -n "/$1/{
=
p
}" "$2"
}