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"
}