【问题标题】:getting lines between two patterns在两个模式之间获取线条
【发布时间】:2018-01-16 06:53:28
【问题描述】:

文件中的数据

SQL>删除 *FROM ABC;
内存
SQL>删除 *FROM LMN;
拉杰

我想在 RAJ 和第一个模式 SQL> FOUND
之间以相反的顺序提取数据 需要输出:
SQL>删除 *FROM LMN;
拉杰

【问题讨论】:

  • 您是如何实现这一目标的?您知道 StackOverflow 旨在帮助解决编程问题,而不是作为免费的代码编写服务,对吗?

标签: bash shell unix


【解决方案1】:
tac file.txt|sed -n '/^RAJ/,/^SQL>/p'|tac

  1. tac: cat 文件倒序
  2. sed: 仅打印 RAJ 和 SQL 之间的行>

例如file.txt

SQL>DELETE *FROM ABC;
RAM
SQL>DELETE *FROM LMN;
RAJ
SQL>DELETE *FROM CDE;
RAM
SQL>DELETE *FROM XYZ;
RAJ

结果:

SQL>DELETE *FROM LMN;
RAJ
SQL>DELETE *FROM XYZ;
RAJ

【讨论】:

    猜你喜欢
    • 2018-06-08
    • 2019-09-28
    • 2023-01-13
    • 1970-01-01
    • 2020-09-11
    • 2014-03-13
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    相关资源
    最近更新 更多