我试图在另一个字符串之前找到前面的字符串。例如:
StringA <stuff 1>
StringA <stuff 2>
StringD
...
StringB <stuff 3>
StringA <stuff 4>
StringA <stuff 5>
StringA <stuff 6>
StringD
StringB <stuff 7>
我想在文件中找到所有在 StringB 之前的“StringA”。
此示例中的输出将是:
StringA <stuff 2>
StringA <stuff 6>
我可以使用以下方法找到所有 StringB 的行号: grep -n "StringB"
然后我可以使用 sed -n 1,$line_numberp 这使我从第 1 行转到 StringB 行。我做 grep "StringA" | 尾-n1
这似乎可行,但有点麻烦。请问有没有更好的方法来达到预期的结果?