linux - Bash - 提取给定关键字的行 block

标签 linux bash

<分区>

我是 bash 的初学者。

假设我有一个文本文件sample.txt,其中包含

mercury
venus
earth
mars
jupiter
saturn
uranus
neptune
pluto

和两个关键字 earthsaturn

黄金是找到包含关键字的行(恰好有一行包含每个关键字),并输出中间的所有行,包括两个关键字行。

给定上述关键字earthsaturn和输入,预期输出为

earth
mars
jupiter
saturn

如果可能,请避免使用正则表达式。 有办法做到这一点吗?

最佳答案

您可以使用 awk 或 sed:

使用 awk:

awk '/earth/,/saturn/' sample.txt

使用 sed:

sed -n '/earth/,/saturn/p' sample.txt

关于linux - Bash - 提取给定关键字的行 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39766340/

相关文章:

linux - Bash- Count Newlines 通过终端命令

linux - Ubuntu Script 自动一行一行运行一系列脚本

linux - 无法在容器内安装已安装的 block 设备 : "is not a block device"

linux - 如何连接本地和远程 Mercurial 仓库?

java - 如何多次发球到单个文件和程序

linux - 日期/时间参数不正确

bash - IF 语句与逻辑运算符未按预期工作

linux - 我怎样才能杀死管道后台进程?

linux - bash 脚本中的 IFS

php - 将 php 脚本作为守护进程运行