我想定义两个变量a和b,a和b是out.txt中两个关键词的所在行数,然后我想用sed在out.txt中搜索指定行数并打印出来到ok.out中,我写的这个sed命令是错误的,得不到我想要的结果

如下所示,我想定义两个变量a和b,a和b是out.txt中两个关键词的所在行数
,然后我想用sed在out.txt中搜索指定行数并打印出来到ok.out中,请问应该如何写呢,我写的这个sed命令是错误的,得不到我想要的结果,谢谢大家。

a=grep -an '666' out.txt |awk -F: '{print $1}'
b=grep -an '888' out.txt |cut -d: -f1
sed -n '$a,$bp' out.txt>ok.out

参考GPT和自己的思路:

你的sed命令中有问题。$a和$bp应该用花括号括起来,否则会被当做字面量字符串。正确的命令应该是:

sed -n "${a},${b}p" out.txt > ok.out

参考文献:
https://stackoverflow.com/questions/58149962/how-to-use-a-variable-containing-a-line-number-in-sed-command