sed:在一定范围内按相反的顺序执行模式搜索,并获取每个匹配的行号

sed:在一定范围内按相反的顺序执行模式搜索,并获取每个匹配的行号

我想在特定范围内以相反的顺序搜索模式。例如,如果我给出的范围是 200,250,那么我希望搜索应该以相反的顺序进行,这意味着搜索应该从行号 250 开始,如果有任何行与模式匹配,则打印行号

我尝试过这个命令sed -n '!G;h;200,250{\|perl: warning:|=}' a.txt,但它实际上按升序执行搜索

我在网上搜索了一下,发现如果我们sed '1!G;h;$!d' a.txt这样做,它实际上会以相反的顺序打印文件。只是想修改这个命令,让它在每次模式匹配时以相反的顺序打印行号。

那么我该如何修改命令呢?请帮忙

相关内容