如下所示,我想定义两个变量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
如下所示,我想定义两个变量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