Shell 前后提醒词查找中间内容 sed

1 需求场景

例如:ipconfig中通过命令查找IP地址,查找mysql安装生成的临时密码。

我们人工查找的方法:通过它前后的关键提示找到内容。

可以通过sed的s替换通过命令实现。


2 示例

准备数据:

文件data3.txt

111 aa
222 bb
begin ccc end
444 dd
555 ee
666 ff
gg 111

例1:找到gin所在的行,然后查出gin与en之间的内容。

处理逻辑

1)首先通过grep过滤只查询需要的行

2)然后通过管道交给sed处理

3)替换gin及之前的内容为空,替换en之后的内容为空

4)替换剩下的内容就是查询结果。


实现

cat data3.txt | grep gin | sed 's/^.*gin//' | sed 's/en.*$//'

img